Buduję aplikację, która pozwala administratorowi uwierzytelnić dostęp do swojego konta analitycznego do użytku w trybie offline i przechowuje token odświeżania w bazie danych.Jak mogę uzyskać zaktualizowany token dostępu, używając przechowywanego tokena odświeżania
Teraz, gdy próbuję użyć API na frontend, zwraca następujący błąd:
"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."
tu jest mój kod, który generuje ten błąd do tej pory:
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>';
}
jestem po funkcja uruchamiająca coś w stylu setRefreshToken - wprowadzanie wartości z bazy danych, od administratora, który wcześniej uwierzytelniał ją online.
że ustalił, plus starałem się odświeżyć token dostępu z użyciem t oken, zamiast używać tokena odświeżania, ponieważ jest to parametr. #fail - dzięki! – mattpark22
Czy któraś z was wie, w jaki sposób mogę wymusić wygaśnięcie tokena dostępu do przetestowania za pomocą funkcji odświeżania tokena, aby uzyskać nowy token dostępu? @mpark – Anagio
@Anagio powinieneś być w stanie uruchomić '$ _googleClient-> refreshToken ($ NewAccessToken-> refresh_token);' wymusić nowy token. Następnie porównaj stary token z nowym, aby zobaczyć, czy się zmienił. –