Я пытаюсь получить refresh token
с сервера аутентификации Google для использования с API Google Analytics при аутентификации на стороне сервера с помощью Service Account Credential
с использованием официального Google PHP client library.PHP сервер Google Analytics для сервера OAuth получить токен обновления
Я могу создать access token
и использовать это, но в настоящее время я создаю новый токен каждый раз, когда пользователь входит на страницу. Я хотел бы уменьшить трафик и получить токен обновления, чтобы передать его функции JavaScript.
gapi.analytics.auth.authorize({
serverAuth: {
access_token: accessToken <-refresh token is that even possible?
}
});
Мой текущий код РНР:
$client = new \Google_Client();
$client->setApplicationName("Craft CMS Plugin");
$client->setAuthConfig($credentialPath);
$client->setAccessType('offline');
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
$client->refreshTokenWithAssertion();
$this->analyticsAccount = new \Google_Service_Analytics($client);
$token = $client->getAccessToken();
$accessToken = $token['access_token'];
Но нет refresh_token. Я могу var_dump
все, но я только нахожу токен доступа. Я уже пробовал это Refresh Token for Google Api Php Client, но это не сработало.
Не могли бы вы помочь мне? Как я могу его получить. Большое спасибо
Большое спасибо, поэтому я буду хранить токен доступа и использовать его. Не могли бы вы рассказать мне, есть ли лучший способ проверить, действительно ли токен действителен, чем сравнивать время? Я бы сохранил токен + текущее время в моей базе данных и проверить, прошло ли 3600. Извините, если это глупый вопрос, но я относительно новичок в этом –
, вы не должны быть клиентской библиотекой, это позаботится об этом. – DaImTo
Что вы подразумеваете под этим? Я должен проверить, является ли токен доступа действительным, если я получаю его из своей базы данных, прежде чем отправлять его в функцию javascript. Если я этого не сделаю, произойдет ошибка. –