1

這裏是我的代碼:refreshToken後setAccessToken是否必要? - 谷歌API PHP

$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的語法設置/ retriving會話數據)

回答

1

閱讀PHP API代碼應該回答你的問題。請參見the code

如果你看一下getAccessToken代碼,它只是返回「令牌「已經在那裏。 public function getAccessToken() { return $ this-> token; } 因此,通過setAccessToken來設置使用getAccessToken接收的令牌沒有多大意義。 在refreshToken設置時間內(請參閱代碼),如果沒有,它將更新accessToken。