Sto creando un'applicazione che consente all'amministratore di autenticare l'accesso al proprio account di analisi per l'utilizzo offline e di memorizzare il token di aggiornamento nel database.Come ottenere un token di accesso aggiornato utilizzando il token di aggiornamento memorizzato
Ora quando cerco di utilizzare l'API sul frontend, si restituisce il seguente errore:
"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."
Ecco il mio codice che genera questo errore finora:
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>';
}
che sto cercando una funzione per eseguire qualcosa come setRefreshToken - inserendo il valore dal database, dall'amministratore che lo ha autenticato in precedenza online.
quello fissato esso, più stavo cercando di aggiornare il token utilizzando l'accesso t oken, invece di usare il token di aggiornamento come se fosse param. #fail - grazie! – mattpark22
Nessuno di voi sa come posso forzare un token di accesso a scadere per testare utilizzando la funzione di aggiornamento dei token per ottenere un nuovo token di accesso? @mpark – Anagio
@Anagio dovresti essere in grado di eseguire '$ _googleClient-> refreshToken ($ NewAccessToken-> refresh_token);' per forzare un nuovo token. Quindi confronta il vecchio token con quello nuovo per vedere se è cambiato. –