【发布时间】:2019-08-15 16:58:15
【问题描述】:
我在一个网站上实现了 Google Youtube data api,让用户可以看到某些频道的视频。我已阅读 Google 提供的有关如何使用它的文档,并使用了离线访问类型,因为它允许 API 自动执行,在访问令牌过期后刷新访问令牌。
API 正在运行,但我仍然会在 1 小时后提示进行自动化(访问令牌到期的默认时间),同时拥有自动刷新访问令牌的代码。
我没有提供我使用的所有代码,只提供处理 API 设置和令牌到期的代码,因为其他代码工作正常。
对我在这里做错的任何帮助将不胜感激。
更新
$client = new Google_Client();
$client->setAuthConfigFile($config);
$client->setRedirectUri($redirect);
$client->addScope('https://www.googleapis.com/auth/youtube.readonly');
$client->setAccessType('offline');
if(file_exits($aToken){
$accessToken = file_get_contents($aToken);
$client->setAccessToken($accessToken);
if($client->isAccessTokenExpired()) {
if($client->getRefreshToken()){
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
$client->setAccessToken($client->getAccessToken());
file_put_contents($aToken, $client->getAccessToken());
} else {
authorize();
}
}
【问题讨论】:
标签: php google-api google-oauth youtube-data-api google-api-php-client