Google客户端:刷新RefreshToken会出现“invalid_grant”错误

时间:2015-07-17 12:56:43

标签: google-api youtube-api google-oauth google-api-php-client youtube-data-api

目前我遇到一些accessTokens问题。我正在使用YouTube Data API和YouTube Analytics API从YouTube频道获取一些数据。

对于身份验证,我将“state”设置为“offline”并将“approvalPrompt”设置为强制。所以我通过身份验证获得了刷新令牌。要使用刷新令牌刷新访问令牌,我使用以下代码:

$client->setAccessToken("ACCESSTOKEN");

if( $client->isAccessTokenExpired() ) {
  $client->refreshToken($refresh_token);
}

之后,我向Google API提出了一些要求。但是当我执行请求时,Google会返回以下错误:

  

异常'Google_Auth_Exception',消息'错误刷新   OAuth2令牌,消息:'{“error”:“invalid_grant”}''in   /var/www/vhosts/xxx.com/httpdocs/app/library/google-api-php/src/Google/Auth/OAuth2.php:345   堆栈跟踪:   0 /var/www/vhosts/xxx.com/httpdocs/app/library/google-api-php/src/Google/Auth/OAuth2.php(269):   Google_Auth_OAuth2-> refreshTokenRequest(阵列)   1 /var/www/vhosts/xxx.com/httpdocs/app/library/google-api-php/src/Google/Auth/OAuth2.php(243):   Google_Auth_OAuth2-> refreshToken( '1 / oiq78SCfplnl -...')   2 /var/www/vhosts/xxx.com/httpdocs/app/library/google-api-php/src/Google/Service/Resource.php(171):   Google_Auth_OAuth2->登录(对象(Google_Http_Request))   3 /var/www/vhosts/xxx.com/httpdocs/app/library/google-api-php/src/Google/Service/YouTube.php(1694):   Google_Service_Resource-> call('list',Array,'Google_Service _...')   4 /var/www/vhosts/xxx.com/httpdocs/app/tasks/CronjobTask.php(51):Google_Service_YouTube_Channels_Resource-> listChannels('snippet,brandin ...',Array)

有谁知道,问题是什么?我还更新了服务器时间,因为我读到谷歌可能有问题。但这并不能解决问题。

提示:这只发生在一些accessTokens上。我有几个访问令牌,这段代码工作正常。还有其他访问令牌,这段代码不起作用,我得到上面的错误。 是否该人撤销了我的应用的访问权限?这可能是此错误消息的原因吗?

0 个答案:

没有答案