Comment puis-je obtenir une mise à jour du jeton d'accès, à l'aide stockées jeton d'actualisation

Je suis en train de construire une application qui permet à l'admin pour authentifier l'accès à leur compte google analytics pour un usage hors-ligne et magasins de l'actualisation jeton dans la base de données.

Maintenant quand j'essaye de l'utilisation de l'API sur le frontend, il renvoie l'erreur suivante:

"Access Token Expired. There wan a general error : The OAuth 2.0 access token has expired, and a refresh token is not available. Refresh tokens are not returned for responses that were auto-approved."

Voici mon code qui génère cette erreur:

require_once "lib/google/Google_Client.php";
require_once "lib/google/contrib/Google_AnalyticsService.php";

$_analytics = new analytics();
$_googleClient = new Google_Client();
$_googleClient->setClientId($_analytics->gaClientId);
$_googleClient->setClientSecret($_analytics->gaClientSecret);
$_googleClient->setRedirectUri($_analytics->gaRedirectUri);
$_googleClient->setScopes($_analytics->gaScope);
$_googleClient->setAccessType($_analytics->gaAccessType);

//Returns last access token from the database (this works)
$_tokenArray['access_token'] = $_analytics->dbAccessToken($_agencyId);
$_googleClient->setAccessToken(json_encode($_tokenArray));

if($_googleClient->isAccessTokenExpired()) {
    //Don't think this is required for Analytics API V3
    //$_googleClient->refreshToken($_analytics->dbRefreshToken($_agencyId));
    echo 'Access Token Expired'; //Debug
}

if (!$_googleClient->getAccessToken()) {
    echo '<h2>Error - Admin has not setup analytics correct yet</h2>';
}

Je suis après une fonction à exécuter quelque chose comme setRefreshToken - saisie de la valeur de la base de données, à partir de l'admin précédemment authentification en ligne.

OriginalL'auteur mattpark22 | 2013-04-02