目前我遇到一些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上。我有几个访问令牌,这段代码工作正常。还有其他访问令牌,这段代码不起作用,我得到上面的错误。 是否该人撤销了我的应用的访问权限?这可能是此错误消息的原因吗?