Also versuche ich, das Zugriffstoken zu aktualisieren, um zu funktionieren. Wenn das Zugriffstoken abgelaufen ist, führe ich refreshToken() aus und übergebe das refresh_token, um ein neues access_token von Google zu erhalten.Das neue access_token via refresh_token zu bekommen ist sehr unzuverlässig
Manchmal scheint es zu funktionieren, aber otherwhile ich bekomme die Fehlermeldung invalid_grant danach. Scheint so, als könnte ich nicht mehr als ein paar Tage vergehen, ohne den Zugriff auf meinen YouTube-Kanal erneut zu autorisieren.
Alles Wesentliche, was ich falsch mache?
if ($client->getAccessToken()) {
if($client->isAccessTokenExpired()) {
$newToken = $client->getAccessToken();
//Run refreshToken() and pass in the refresh token to get a fresh access token.
$client->refreshToken($newToken['refresh_token']);
//Take old key object and replace everything except for refresh_token
$newKey = $client->getAccessToken();
$newKeyWithRefreshToken = json_decode($oldKey);
$newKeyWithRefreshToken->access_token = $newKey['access_token'];
$newKeyWithRefreshToken->token_type = $newKey['token_type'];
$newKeyWithRefreshToken->expires_in = $newKey['expires_in'];
$newKeyWithRefreshToken->created = $newKey['created'];
//save to db
DB::getInstance()->update('channel', $channelId , array(
'credentials' => json_encode($newKeyWithRefreshToken)
));
Hallo KENdi, zuerst einmal, vielen Dank für Ihre Antwort. Vielleicht war ich nicht klar genug, aber ich habe kein Problem damit, ein refresh_token zu bekommen und damit ein neues access_token zu bekommen. Es funktioniert nur für mich alle paar Tage nicht mehr und sagt, dass meine Zugangsdaten jetzt ungültig sind. ("invalid_grant") – Noniq