Google-API-Client "refresh token muss weitergegeben werden, oder als Bestandteil von setAccessToken"

Ich stehe aktuell vor einem sehr seltsamen problem, ja ich habe nach genau dieser Anleitung ( https://developers.google.com/google-apps/calendar/quickstart/php ), die von Google-API-Dokumentation. Ich versuchte es zweimal, beim ersten mal, es funktioniert wie ein Charme, aber nachdem das access-token hatte zum Ablauf des Skripts direkt von der Google-API-Doc nicht in der Lage war, um es zu aktualisieren.

TL;DR

Hier ist die Fehlermeldung:

sam@ssh:~$ php www/path/to/app/public/quickstart.php


Fatal error: Uncaught exception 'LogicException' with message 'refresh token must be passed in or set as part of setAccessToken' in /home/pueblo/www/path/to/app/vendor/google/apiclient/src/Google/Client.php:258
Stack trace:
#0 /home/pueblo/www/path/to/app/public/quickstart.php(55): Google_Client->fetchAccessTokenWithRefreshToken(NULL)
#1 /home/pueblo/www/path/to/app/public/quickstart.php(76): getClient()
#2 {main}
  thrown in /home/pueblo/www/path/to/app/vendor/google/apiclient/src/Google/Client.php on line 258

Ist hier der Teil, der das php-Skript von google habe ich geändert:

require_once __DIR__ . '/../vendor/autoload.php';

//I don't want the creds to be in my home folder, I prefer them in the app's root
define('APPLICATION_NAME', 'LRS API Calendar');
define('CREDENTIALS_PATH', __DIR__ . '/../.credentials/calendar-php-quickstart.json');
define('CLIENT_SECRET_PATH', __DIR__ . '/../client_secret.json');

Habe ich auch geändert, die expandHomeDirectory so konnte ich "deaktivieren", ohne das ändern zu viel code:

function expandHomeDirectory($path) {
  $homeDirectory = getenv('HOME');
  if (empty($homeDirectory)) {
    $homeDirectory = getenv('HOMEDRIVE') . getenv('HOMEPATH');
  }
  return $path;
  //return str_replace('~', realpath($homeDirectory), $path);
}

Also zu überprüfen, ob ich falsch war, oder falls Google war, habe ich ein experiment: gestern Abend starte ich den Schnellstart-Skript aus ssh um zu überprüfen, ob es funktioniert, und es war wirklich, also beschloss ich, check das morgen, wenn es noch funktioniert so wie es war, bevor ich schlief, und es war nicht so dass ich denke, es gibt etwas falsch mit Google quickstart.php.

Ich hoffe, dass mir jemand helfen könnte, ich bereits überprüft, alle anderen Beiträge zu dem Thema aber Sie sind alle veraltet.

  • Ich denke, das SO Frage kann Ihnen helfen.
  • Nein, in der Tat sieht es wie eine gültige Antwort, aber der Fehler dieses Benutzer gemeldet hatte, bereits fest in den code, den ich verwende, da er senden Sie ein ticket an Google, die es behoben. Aber danke für den Versuch mir zu helfen 🙂
  • Ab 20. November 2017, das Google-Beispiel-PHP-code veröffentlicht quickstart.php ist dennoch mit dem Fehler, dass Sie gefragt haben...
InformationsquelleAutor Sam | 2016-09-04
Schreibe einen Kommentar