PHP Youtube API v3 Oauth访问令牌错误

时间:2014-03-13 15:02:55

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

我使用这个脚本: https://developers.google.com/youtube/v3/code_samples/php#resumable_uploads 将视频上传到youtube。一切正常,但第二天我有错误:

发生客户端错误:OAuth 2.0访问令牌已过期,并且刷新令牌不可用。对于自动批准的回复,不会返回刷新令牌。

我看了一些关于如何解决这个问题的技巧,但我没有成功。我是编程新手。请帮我修复此错误。

1 个答案:

答案 0 :(得分:2)

您需要将访问类型设置为offline,以便您刷新访问令牌,以便您可以对应用进行身份验证,而无需用户再次授权。

Check the docs

我现在无法测试,但请尝试以下操作。这不是理想的,你应该在某处坚持使用令牌。

// 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);
    }
}