У меня есть следующая проблема с аутентификацией в Google API:Google API: «invalid_grant», но код не изменился
PHP Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }'' in /home/bot/bot/vendor/google/apiclient/src/Google/Auth/OAuth2.php:328
Однако этот вопрос очень странно, потому что тот же код работает на моем местном ПК и перестает работать на сервере. Возможно ли, что это имеет какое-то отношение к серверному времени? У меня синхронизированы мои системные часы, но сервер примерно на 1 минуту назад. Серьезно, у меня кончились идеи, почему это не работает, хотя я вообще не изменил код. Раньше это работало, но внезапно эта проблема возникла.
Что я могу сделать с этим?
<?php
$client = new Google_Client();
$client->setApplicationName('My App');
$client->setClientId($clientId);
$client->setClassConfig(
'Google_Cache_File',
['directory' => __DIR__.'/res/tmp']
);
$service = new Google_Service_Calendar($client);
$cred = new Google_Auth_AssertionCredentials(
$serviceAccountName,
// https://www.googleapis.com/auth/calendar
[Google_Service_Calendar::CALENDAR],
$keyFile
);
$client->setAssertionCredentials($cred);
var_dump($service->calendarList->listCalendarList());
Покажите нам область, которую вы запрашиваете –
Я отредактировал мое сообщение с образцом кода. Он работает на моем ПК, и он не работает на сервере (но он использовал). – stil
Я подозреваю это: http://stackoverflow.com/questions/10025698/authentication-on-google-oauth2-keeps-returning-invalid-grant –