Google表格API v4刷新令牌必须作为setAccessToken

时间:2017-08-17 14:48:04

标签: php api google-sheets google-sheets-api

我正在使用 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 thisthis上的问题。这些问题提供了相同的答案,并在 Sheet API V4 中进行了更新。

在完成上述所有解决方案之后我得到了上述错误,我怎样才能摆脱这个错误?

0 个答案:

没有答案