在refreshToken之后是否需要setAccessToken? - Google API PHP

时间:2016-12-24 17:05:45

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

这是我的代码:

$client = new Google_Client();
$client->setApplicationName("dayPlanner");
$client->setClientId(env('googleClientID'));
$client->setClientSecret(env('googleClientSecret'));
$client->setAccessToken(session('token'));

if($client->isAccessTokenExpired()) {
    $client->refreshToken($user->refreshToken);
    $token = $client->getAccessToken();
    session(['token' => $token]);
    $client->setAccessToken($token); // necessary..?
}

这有效,但我不完全理解。大多数在线示例都显示了refreshToken(以及会话数据的getAccessToken),但是我没有看过,然后再次使用setAccessToken。逻辑规定这是必要的,它是有效的,但我想要一个明确的答案,并更好地理解这一点。

(注意,用于设置/恢复会话数据的Laravel语法)

1 个答案:

答案 0 :(得分:1)

阅读PHP API代码应该回答您的问题。请参阅the code

如果查看getAccessToken代码,它只返回已存在的“token”。  公共函数getAccessToken()   {     返回$ this->令牌;   } 因此,使用setAccessToken设置使用getAccessToken接收的令牌没有多大意义。 在refreshToken设置时间内(参见代码),如果没有,则会更新accessToken。