1

Voici mon code:setAccessToken est-il nécessaire après refreshToken? - Google 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..? 
} 

Cela fonctionne, mais je ne comprends pas totalement. La plupart des exemples en ligne montrent le refreshToken (et getAccessToken pour les données de session), mais aucun de ceux que j'ai vus n'utilise à nouveau setAccessToken. La logique dicte que c'est nécessaire, et cela fonctionne, mais j'aimerais une réponse définitive et comprendre un peu mieux.

(Note, la syntaxe Laravel utilisée pour le réglage/retriving données de session)

Répondre

1

La lecture du code API PHP doit répondre à votre question .. Voir the code

Si vous regardez le code getAccessToken, il retourne juste " jeton "qui était déjà là. public function getAccessToken() { return $ this-> jeton; } Faire un setAccessToken pour définir un jeton reçu avec getAccessToken n'a donc pas beaucoup de sens. Pendant l'heure de définition de refreshToken (voir le code), il mettra à jour le accessToken s'il n'y en a pas.