If $extra_parameters is not an array, you have to specify Content-Type header, or else you'll get HTTP 401 error. Example:
<?php
$oauth->fetch(ENDPOINT, '{"action": "get_user_info"}', OAUTH_HTTP_METHOD_PUT, array('Content-Type' => 'application/json'));
?>