【发布时间】:2016-11-07 14:14:55
【问题描述】:
在我的网站中,我有一个上传按钮,用于通过 api 将文件上传到谷歌驱动器。
这是我的代码:
$auth_code = GOOGLEDRIVE_AUTH_CODE;
$access_token = GOOGLEDRIVE_ACCESS_TOKEN;
$refresh_token = GOOGLEDRIVE_REFRESH_TOKEN;
$client_id = 'Google_App_Client_ID';
$client_secret = 'Google_App_Client_Secret';
$redirect_uri = 'Redirct_Url';
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->setAccessType('offline');
$client->setApprovalPrompt('force');
$client->addScope("https://www.googleapis.com/auth/drive");
$service = new Google_Service_Drive($client);
if (isset($access_token) && $access_token) {
$client->setAccessToken($access_token);
if ($client->isAccessTokenExpired()) {
$refresh_token = $client->getRefreshToken();
$client->refreshToken($refresh_token);
$access_token = $client->getAccessToken();
$co->save('GDRIVE_ACCESS_TOKEN',$access_token);
$co->save('GDRIVE_REFRESH_TOKEN',$refresh_token);
}
} else {
$authUrl = $client->createAuthUrl();
}
这行会报错
$client->refreshToken($refresh_token);
“刷新 OAuth2 令牌时出错,消息:'{ "error" : "invalid_grant" }'"
阅读错误消息,听起来令牌刷新突然不起作用。就像我说的,这个上传工具已经运行了好几个月了。
有什么想法吗?
谢谢, 弥敦道
【问题讨论】:
标签: php google-api google-oauth google-api-php-client google-api-client