Mauvais nombre de segments de jeton (OAuth, l'Api Google)

Mon objectif final est d'envoyer un courriel à moi-même via Google Gmail API.

Et voici mon problème.

Quand je reçois mon jeton d'accès une erreur apparaît

 Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Wrong number of segments in token: '

J'ai lu ici Nuage de points de terminaison oauth2 erreur que "Cela NE signifie PAS que votre jeton n'était pas valide", mais j'obtiens une erreur fatale que de les interrompre mon script.

Mon jeton d'accès ressemble à ceci 4/MqiIIl5K4S3D4iiieHshQt5D4M79oo07sbhmn22oe2o.cswa8t9ZuDAfJvIeHux6iLYXpNQmlAI

Si j'ai actualiser la page avec cette marque que j'obtiendrais une autre erreur, qui est

'Error fetching OAuth2 access token, message: 'invalid_grant: Invalid code.'

Voici mon code

<?php

include_once "templates/base.php";
echo pageHeader("Simple API Access");

require_once realpath(dirname(__FILE__) . '/../autoload.php');


$client = new Google_Client();


$client_id = '114600397795-j5sn0gvsdrup0s8dcmsj49iojp3m9biu.apps.googleusercontent.com';
$client_secret = 'm3Dzankql_rs1OGICsA3Hbtc';
$redirect_uri = 'http://alupa.com/gmail/examples/simple-query.php';

$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);

$client->addScope("https://www.googleapis.com/auth/gmail.readonly");
$client->addScope("https://mail.google.com/");

$apiKey = "AIzaSyCWXxrTshKsotxEYNZZCXxdVXhLeku55cw"; 
$client->setDeveloperKey($apiKey);


if (isset($_GET['code'])) {
  $client->authenticate($_GET['code']);
  $_SESSION['access_token'] = $client->getAccessToken();
  //$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
  //header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}else{

$client->setApplicationName("Client_Gmail_Examples");

}


if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  $client->setAccessToken($_SESSION['access_token']);
} else {
  $authUrl = $client->createAuthUrl();
}

if ($client->getAccessToken()) {
  $_SESSION['access_token'] = $client->getAccessToken();
  $token_data = $client->verifyIdToken()->getAttributes();
}


?>
<div class="box">
  <div class="request">
<?php
if (isset($authUrl)) {
  echo "<a class='login' href='" . $authUrl . "'>Connect Me!</a>";
} else {
  echo "<a class='logout' href='?logout'>Logout</a>";
}
?>
  </div>
</div>

alupa.com est mon domaine local et je ne vois pas de problèmes avec

Je suis une utilisation originale de la bibliothèque de google https://github.com/google/google-api-php-client

Je suis d'avoir les mêmes problèmes. Le jeton n'a pas toutes les données. Avez-vous résoudre ce problème?

OriginalL'auteur Randomius | 2014-12-04