Google API Client “actualiser jeton doit être transmis ou mis dans le cadre de setAccessToken”

Je suis actuellement confronté à un problème très étrange, en effet, j'ai suivi ce même guide (https://developers.google.com/google-apps/calendar/quickstart/php) à partir de Google documentation de l'API. Je l'ai essayé deux fois, la première fois qu'il fonctionne comme un charme, mais après le jeton d'accès avait expire le script fourni directement par l'API Google Doc a été incapable de les rafraîchir.

TL;DR

Voici le message d'erreur:

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

Ici est la partie du script php à partir de google, j'ai modifié le:

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');

J'ai aussi modifié le expandHomeDirectory afin que je puisse "désactiver" il sans modifier trop de code:

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

Afin de vérifier si je me suis trompé ou si Google était, j'ai fait une expérience: hier soir, j'ai lancer le script de démarrage rapide de ssh pour vérifier si elle travaillait, et elle l'a été, j'ai donc décidé de vérifier ce matin si il travaille encore comme elle l'était avant que je dormais, et il n'était pas le cas je pense qu'il ya quelque chose de mal avec Google quickstart.php.

J'espère que quelqu'un pourrait m'aider, j'ai déjà vérifié toutes les autres posts sur le sujet, mais ils sont tous obsolètes.

Je pense que cette DONC, la question peut vous aider.
Non, en effet apparaître comme une réponse valable cependant le bug cet utilisateur a signalé a déjà été fixé dans le code que j'utilise depuis qu'il a soumettre un ticket pour Google qui l'ont fixé. Mais merci d'essayer de m'aider 🙂
Le 20 novembre, en 2017, le Google exemple de code PHP publié comme quickstart.php est toujours une erreur que vous avez demandé à propos de...

OriginalL'auteur Sam | 2016-09-04