php-google-spreadsheet-client getSpreadsheets 返回空数组
php-google-spreadsheet-client getSpreadsheets returning empty array
我正在使用 php-google-spreadsheet-client 获取 google 工作表的列表。这是我使用的代码:
<?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(
'id@developer.gserviceaccount.com',
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 获取 google 工作表的列表。这是我使用的代码:
<?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(
'id@developer.gserviceaccount.com',
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 工作表列表?
我知道答案是什么。您需要将表格分享给客户邮箱才能获取。