我使用这个脚本: https://developers.google.com/youtube/v3/code_samples/php#resumable_uploads 将视频上传到youtube。一切正常,但第二天我有错误:
发生客户端错误:OAuth 2.0访问令牌已过期,并且刷新令牌不可用。对于自动批准的回复,不会返回刷新令牌。
我看了一些关于如何解决这个问题的技巧,但我没有成功。我是编程新手。请帮我修复此错误。
答案 0 :(得分:2)
您需要将访问类型设置为offline
,以便您刷新访问令牌,以便您可以对应用进行身份验证,而无需用户再次授权。
我现在无法测试,但请尝试以下操作。这不是理想的,你应该在某处坚持使用令牌。
// After "$client->setRedirectUri($redirect);" add:
$client->setAccessType('offline');
// After "$client->setAccessToken($_SESSION['token']);" add:
if ($client->isAccessTokenExpired()) {
$currentTokenData = json_decode($_SESSION['token']);
if (isset($currentTokenData->refresh_token)) {
$client->refreshToken($currentTokenData->refresh_token);
}
}