Я пытаюсь получить токен доступа Google для учетной записи службы, чтобы получить доступ к Analytics API со стороны клиента.
На стороне сервера у меня есть следующий код:
$keyFile = base_path() . '/keys/xxxxxxxx-xxxxxxxxx.json';
$client = new Google_Client();
$client->setApplicationName('Analytics Demo');
$client->setAuthConfig($keyFile);
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
$token = $client->getAccessToken(); // Returns null
В какой-то момент он вернул токен, но после пары вызовов он начал возвращать null
.
Попытка получить $client->getRefreshToken()
также возвращает null.
Когда я поместите $client
в объект Google_Service_Analytics
, кажется, все работает нормально, поэтому я знаю, что файл ключей правильный и правильно прочитан:
$analytics = new Google_Service_Analytics($client);
$accounts = $analytics->management_accounts->listManagementAccounts(); // Returns proper data
Есть идеи, что может пойти не так?
ОБНОВЛЕНИЕ:
Вызов $client->isAccessTokenExpired()
приводит к истине, поэтому я думаю, что мне нужно обновить sh токен, но я понятия не имею, как.