I'm trying to get an access token, using the latest version of the google-api-php-client (take a look at this https://github.com/google/google-api-php-client), and I'm following this official doc: https://developers.google.com/api-client-library/php/guide/aaa_oauth2_web
The only difference is that I'd like to use the service Google_Service_Plus
, instead of Google_Service_Urlshortener
.
Basically I do these steps:
$client
specifying client ID, client secret, developer key, scopes and redirect URI (which points to my localhost Ubuntu 12.04 - PHP 5.3.10).$plus
using the Google Client $client
.$client->createAuthUrl()
.$_GET['code']
to use for token exchange.$client->authenticate($_GET['code']);
but google server returns HTTP 400 and I get a Google_Auth_Exception: Error fetching OAuth2 access token, message: 'invalid_request'
. The flow breaks here.
What's wrong?
Any help will be appreciated.
Thanks in advance,
Niccolò.
I created an oauth2callback.php file and was experiencing this problem. The problem went away when I setup my Google_Client properly. At first I was only setting the clientId and secret. As soon as I set the redirectUri, my code started working. I didn't think I needed to set the redirectUri since I know the redirect had already occurred (I was on the redirect page). I figured this answer might help others experiencing a similar problem.
Once I set the JSON configuration file for the $client, it worked for me.
Example:$client->setAuthConfigFile(__dir__.'/../conf/client_secrets.json');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With