带有刷新令牌的OAuth流程。错误500

时间:2013-06-12 14:57:39

标签: php google-drive-api google-oauth

我正在制作一个PHP应用程序,它将使用一个google驱动器帐户。

因此,作为管理员,我首先授予google云端硬盘帐户的权限。 接受权限后,我将刷新令牌保存在数据库中。

之后,在不同的URL中,客户端将使用,我正在尝试进行身份验证。

接下来,我从数据库中提取刷新令牌,然后发出一个帖子请求:

$url = "https://accounts.google.com/o/oauth2/token";

带参数:

$post_data = array(
    'client_id' => CLIENT_ID,
    'client_secret' => CLIENT_SECRET,
    'refresh_token' => $refreshToken,
    'grant_type' => 'refresh_token' );

获得成功响应后,我保存了access_token,但是当我尝试将其换成凭据时,我收到此错误消息:

An error occurred: Error fetching OAuth2 access token, message: '    
Error processing OAuth 2 request

Error 500
'
Fatal error: Uncaught exception 'CodeExchangeException' in ...

我在这里遗漏了什么吗? 我使用的oauth流量是否正确?

提前致谢!

1 个答案:

答案 0 :(得分:1)

当您从刷新令牌获取访问令牌时,该访问令牌本身就是凭证,之后没有交换过程。在凭证中,有:1。访问令牌2.刷新令牌。并且您获得凭证以交换授权代码,而不是访问令牌。因此,在您的代码中,在尝试获取访问令牌以交换访问令牌的过程中发生错误。