谷歌OAUTH2交换授权代码访问令牌"无效请求"

时间:2015-01-31 09:37:06

标签: php google-api authorization access-token

我在服务器上从此页面获取了Google API授权码

https://github.com/google/google-api-php-client/blob/master/examples/user-example.php

我托管的同一页面进行测试

http://mawk3y.net/google/google-api-php-client/examples/user-example.php

调整客户端ID,密码和重定向uri后。

$data =file_get_contents('https://accounts.google.com/o/oauth2/auth?code='.$code.'&client_secret={secret}&redirect_uri={my web page}&grant_type=authorization_code');
print_r($data);

但是我收到了一个错误,所以我试图在从该页面获取授权代码之后将完整的url粘贴到浏览器地址栏(这是我从此页面获得的相同验证码https://developers.google.com/oauthplayground/

https://accounts.google.com/o/oauth2/token?code={authorization code}&redirect_uri=mywebpage.php&client_id={my client id}&client_secret={secret code}&grant_type=authorization_code

但结果是

{
"error" : "invalid_request"
}

如何解决此问题并交换访问令牌的授权码

1 个答案:

答案 0 :(得分:1)

您将 GET 请求中的参数发送到授权端点(https://accounts.google.com/o/oauth2/auth),但您必须将其发送到 POST 请求令牌端点(https://accounts.google.com/o/oauth2/token)。