我有这段代码尝试从工作表中检索所有数据,包括元数据:
$response = $this->spreadsheet_service->spreadsheets->get($this->spreadsheet_id, ['ranges' => $sheet_name ]);
$sheetData = $response->getSheets();
foreach ($sheetData as $sheet) {
echo "sheet:";
var_dump($sheet);
$data = $sheet->getData();
echo "sheet Data:";
var_dump($data);
die;
}
$sheet
的转储向我显示了一个带有 rowCount = 996
的对象,这意味着它不是空的。但 $data
的转储显示:
sheet Data:array(0) { }
如果我使用
$this->spreadsheet_service->spreadsheets_values
,我可以正确获取所有值,但我也需要一种获取元数据的方法,例如每个单元格的上次更新时间和坐标。
也许使用我的 API 凭据我无法访问元数据,这就是上面的代码不起作用的原因。
我需要向我的 API 用户授予权限吗?或者还有什么问题?
谢谢
@Tanaike 观察到 API 不允许实现我想要实现的目标。谢谢,我已经投票给你了。
通过我的快速研究,我发现通过 AppScripts + webhooks 可以获得相同的结果:https://medium.com/@eyalgershon/sending-a-webhook-for-new-or-updated-rows -in-google-sheets-e0c9d6a8cb45
在 AppScript 函数中,可以获取任何元数据并将其传递给 webhook,例如当前时间、坐标等。