Для тех, у кого тот же вопрос, использование ключа учетной записи службы Google исправит его, фактически у нас больше не будет кода обновления токена.как это сделать?
- создать ключ учетной записи службы
- скачать ключ как json, если у вас есть что-то с именем
service_account-secret.json
- просто используйте
setAuthConfig
для аутентификации следующим образом:
$apiOptions = [
'application_name' => 'My App Name',
'credential_path' => __DIR__.'/service_account-secret.json'
];
$client = new Google_Client();
$client->setApplicationName(array_get($apiOptions, 'application_name', 'Google Sheets API PHP'));
$client->setScopes(array_get($apiOptions, 'scope', Google_Service_Sheets::SPREADSHEETS));
$client->setAuthConfig(array_get($apiOptions, 'credential_path'));
$client->setAccessType('offline');
Таким образом, нам не нужно использовать токен, как описано в https://developers.google.com/sheets/api/quickstart/php