2012-08-29 44 views
2

我正在使用Gooogledrive API与php.Using它我已经从凭证部分检索Refresh令牌.accesstoken在3600秒后过期。我的问题是如何从新的accesstoken此刷新token.I已经使用在谷歌PHP客户端library.I给出的方法调用了refreshtoken(“refreshtoke”)的apiclient.My码功能是继使用已在googledrive api中检索到的refreshtoken获取新accesstoken

$client = new apiClient(); 
$client->setClientId('my-client-id'); 
$client->setClientSecret('my client-secret-key'); 
$client->setRedirectUri('my redirect uri'); 



$client->refreshToken('MY-retrieved-refresh-token'); 

,但我得到了以下错误: - 未捕获的异常'apiAuthException'消息'错误刷新OAuth2令牌,消息:'{“error”:“invalid_grant”}。**

请帮帮我。一切休息的作品fine.But的accessToken3600秒到期后,不刷新

+0

你设置你的访问和刷新令牌?我没有看到行$ client-> SetAccessToken($ tokens),其中$ token是jSON中的访问和刷新标记。 – vicrabb

+1

谢谢vicrabb.I明白了你的观点。 –

+0

难道还是你还有问题? – vicrabb

回答

1

//之后这行代码

$client->refreshToken('MY-retrieved-refresh-token'); 

//做到这一点

$token = $client->getAccessToken(); 

//这将给你json编码字符串,它将有权访问,刷新令牌和承载等。

+0

哦,我的....经过近一个月的调试这个问题后,我有这两行倒退。在切换它们之后,事情现在可以正常工作,而无需在访问令牌每次过期时重新进行身份验证。非常感谢你发布这个乔希。 – EHerman

相关问题