我在服务器上从此页面获取了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"
}
如何解决此问题并交换访问令牌的授权码
答案 0 :(得分:1)
您将 GET 请求中的参数发送到授权端点(https://accounts.google.com/o/oauth2/auth),但您必须将其发送到 POST 请求令牌端点(https://accounts.google.com/o/oauth2/token)。