OAuth 2.0 access token abgelaufen ist, und einen refresh-token ist nicht verfügbar

Ich habe eine web-basierte Anwendung, die Google verwenden OAuth2.0, wie die login-framework. Es funktioniert gut bisher, bis gestern. Die applcation konnte nicht die refresh-token nach dem access token abgelaufen ist. Außer, dass der "Antrag auf Erlaubnis" - Seite hatte ändern "offline-Zugang" statt "Wissen, wer Sie auf Google" und "Ansicht E-Mail"

Ursprünglich war die "Anfrage für Genehmigung" Seite anfordern, die Zugang zu "Wissen, wer Sie auf Google" und "Ansicht E-Mail". Nach Abmeldung eines Benutzers und versucht eine zweite Anmeldung den "Antrag auf Erlaubnis" - Seite wird das gleiche zu.

Jedoch, bis gestern, die "Anfrage für Genehmigung" Seite gewechselt "Haben Sie den offline-Zugriff". Nachdem das access-token ist abgelaufen, ich habe den Fehler messsage unten:

PHP Fatal error: Uncaught exception 'Google_AuthException' with message 'Die OAuth 2.0 access token abgelaufen ist, und einen refresh-token ist nicht verfügbar. Refresh-tokens werden nicht zurückgeschickt und Antworten wurden automatisch genehmigt.' in /home2/xxxx/public_html/test/google-api-php-client/src/auth/Google_OAuth2.php:221

Versuchte ich $client->setAccessType('online'); . Aber ich habe immer noch dieses schwerwiegende Fehler bei mir. Unten ist mein code, um das access token :

    if ($client->getAccessToken()) {
      $token = $client->getAccessToken();
      $authObj = json_decode($token);
      $refreshToken = $authObj->refresh_token;
      $user = $oauth2->userinfo->get();
      $me = $plus->people->get('me');
      $email = filter_var($user['email'], FILTER_SANITIZE_EMAIL); //get the USER EMAIL ADDRESS using OAuth2

      $optParams = array('maxResults' => 100);
      $activities = $plus->activities->listActivities('me', 'public', $optParams);


      $_SESSION['access_token'] = $client->getAccessToken();
    } else {
      $authUrl = $client->createAuthUrl();
    }

Ich habe versucht, auf der Suche nach ähnlichen problem wie ich, aber ich konnte nicht finden einen. Dies passiert seit gestern. Vor diesem, ich habe nie einen Wechsel auf die codes.

InformationsquelleAutor der Frage CK Tan | 2013-12-13

Schreibe einen Kommentar