【发布时间】:2021-12-07 18:08:13
【问题描述】:
我正在尝试学习用于 PHP 的 Google Sheets API 以从工作表中读取数据。我正在使用 https://github.com/googleapis/google-api-php-client/ 阅读未发布到网络的 Google 表格。我已在我的 Google 帐户的 Google Sheets API 中设置访问权限。我的基本连接工作,使用这个:
// Connect the Google Sheets API client
require_once __DIR__ . '/vendor/autoload.php';
// Load service key
$googleAccountKeyFilePath = __DIR__ . '/service_key.json';
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $googleAccountKeyFilePath);
// Create new client
$client = new Google_Client();
// Set credentials
$client->useApplicationDefaultCredentials();
// Access for reading, editing, creating and deleting tables
$client->addScope('https://www.googleapis.com/auth/spreadsheets');
$service = new Google_Service_Sheets($client);
// Spreadsheet ID
$spreadsheetId = 'my_id';
$response = $service->spreadsheets->get($spreadsheetId);
// Get properties of spreadsheet
$spreadsheetProperties = $response->getProperties();
// spreadsheet name
var_dump($spreadsheetProperties->title);
和var_dump 输出
string(4) "Test"
但是当我尝试时
$range = 'Test';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
var_dump($response);
转储表格测试中的所有单元格,我收到错误
Uncaught Google\Service\Exception: { "error": { "code": 400, "message": "Unable to parse range: Test", "errors": [ { "message": "Unable to parse range: Test", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } }
如何转储单元格数据的示例是什么?
【问题讨论】:
-
note for range 是
The A1 notation or R1C1 notation of the range to retrieve values from,因此Test不是有效范围。试试A1:A6看看能不能给你什么。 (编辑)developers.google.com/sheets/api/quickstart/php 有一个更好的例子 -
啊,这行得通,谢谢!将其添加为答案。顺便说一句,我的基本连接代码看起来不错吗?它比您链接的示例要简单得多。
-
我真的不确定。我根本没有使用过 Sheets API,只是找到了它的文档。
-
我阅读了一些文档,但只能解析其中的一些。我正在使用pocketadmin.tech/en/version-4-of-the-google-sheets-api-in-php
标签: php google-sheets-api