I am working with YouTube APIs for my college project, and I keep getting an error. Here I send them to the authorisation page to log in, when they allow access it sends the $_GET['code'] string back. Then I send this along with some other data and it should send back a JSON object. Instead I am just getting
Warning: file_get_contents(https://accounts.google.com/o/oauth2/token) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in http://www.example.net/callback.php on line 27
I have replaced my domain with example.net just for security
urlencode($_GET['code']),'client_id' => urlencode('111522767640.apps.googleusercontent.com '),'client_secret' => urlencode('secret'),'redirect_uri' => urlencode('http://example.net/callback.php'),'grant_type' => urlencode('authorization_code') ) ); $params = array('http' => array('method' =>'POST /o/oauth2/token HTTP/1.1','header' =>'Host: accounts.google.com\r\n'. 'Content-Type: application/x-www-form-urlencoded','content' => $postdata ) ); $context = stream_context_create($params); $result = file_get_contents('https://accounts.google.com/o/oauth2/token', false,$context); var_dump($_SESSION); var_dump($result); } else //If code isnt set, user must have come here erroniously or has denied access to this program { //header( 'Location: www.example.net/error.php' ) ; }?>