php-google-spreadsheet-client getSpreadsheets 返回空数组

标签 php google-sheets-api

我正在使用php-google-spreadsheet-client获取谷歌表格列表。这是我正在使用的代码:

<?php

    require 'vendor/autoload.php';
    require_once 'google-api-php-client/autoload.php';

    use Google\Spreadsheet\DefaultServiceRequest;
    use Google\Spreadsheet\ServiceRequestFactory;

    function getToken()
    {
        $client = new Google_Client();
        $client->setApplicationName('project');
        $client->setClientId('client_id');

        $key = file_get_contents('key.p12');
        $cred = new Google_Auth_AssertionCredentials(
            '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f19895b1959487949d9e819483df96829483879892949092929e849f85df929e9c" rel="noreferrer noopener nofollow">[email protected]</a>',
            array('https://spreadsheets.google.com/feeds'),
            $key
        );

        $client->setAssertionCredentials($cred);

        if($client->getAuth()->isAccessTokenExpired()) {
            $client->getAuth()->refreshTokenWithAssertion($cred);
        }

        $service_token = json_decode($client->getAccessToken());
        return $service_token->access_token;
    }

    $accessToken = getToken();
    $serviceRequest = new DefaultServiceRequest($accessToken);
    ServiceRequestFactory::setInstance($serviceRequest);
    $spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
    $spreadsheetFeed = $spreadsheetService->getSpreadsheets();
    print_r(count($spreadsheetFeed));
    foreach($spreadsheetFeed as $spreadsheet){
        print_r($spreadsheet);
    }

但是 getSpreadsheets() 函数返回一个空数组。 如何获取我的 Google 表格列表?

最佳答案

我知道答案是什么。您需要与客户电子邮件共享工作表才能获取它。

关于php-google-spreadsheet-client getSpreadsheets 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309143/

相关文章:

PHP MYSQL 选择最近24小时和之前24小时的数据

php - Codeigniter $query->result() 返回奇怪的结果

google-apps-script - 谷歌表格: Batch getRangeByName via Apps Script

javascript - Google Sheets - 循环浏览表格合并数据

php - Jquery/Ajax .load() 随机不工作?

PHP 设置时区而不更改日期?

php - 将下拉值输入到同一列作为单独的行

google-apps-script - 查找给定标题行名称的列

datetime - 如何确定 Google Sheets API 返回值的数据类型

javascript - Google 表格脚本 - 无法读取属性 1.0?