我正在使用 Google Sheet API V4 。
I follows these instructions用于访问我的工作表。它在第一天运作良好。然后第二天我再次按照命令运行脚本。
php quickstart.php
当我运行上述命令时,它会显示以下错误
PHP致命错误:未捕获LogicException:必须在C:\ xampp \ htdocs \ sheetapi \ vendor \ google \ apiclient \ src \ Google \ Client.php:258中传递或作为setAccessToken的一部分传递刷新令牌
以下是代码。
require_once __DIR__ . '/vendor/autoload.php';
define('APPLICATION_NAME', 'Google Sheets API PHP Quickstart');
define('CREDENTIALS_PATH', '~/.credentials/sheets.googleapis.com-php-quickstart.json');
define('CLIENT_SECRET_PATH', __DIR__ . '/client_secret.json');
对于刷新令牌使用以下代码。
// Refresh the token if it's expired.
if ($client->isAccessTokenExpired()) {
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
file_put_contents($credentialsPath, json_encode($client->getAccessToken()));
}
我会检查SO this和this上的问题。这些问题提供了相同的答案,并在 Sheet API V4 中进行了更新。
在完成上述所有解决方案之后我得到了上述错误,我怎样才能摆脱这个错误?