【问题标题】:Google Sheets API (PHP) Batch UpdateGoogle 表格 API (PHP) 批量更新
【发布时间】:2015-02-04 00:19:52
【问题描述】:

我想使用 Google Sheets API 批量更新,因为更新单个单元格的调用非常慢。问题是没有数据的单元格不会作为单元格提要的一部分返回,因此我没有必要的编辑 URL 将这些单元格包含在批量更新中。我在 Google .NET API 中看到了对“return-empty”参数的引用,该参数应该会在单元格提要中返回所有单元格,甚至是空单元格,但是我找不到任何对“协议”API 的引用在 PHP 中使用(这里是引用“return-empty”参数的示例:Writing to an empty cell in Google Spreadsheets)。有谁知道如何获取单元格提要请求以返回所有单元格(包括空单元格)?还是我注定要使用极慢的小区更新请求?

【问题讨论】:

  • 如果您使用与我相同的 API,那么我有一个答案。

标签: php google-sheets


【解决方案1】:

快速破解

如果你使用的是same API I am,那么在googlespraedsheet/api.phpline 152之后

$cellRangeCriteriaQuerystringList = [];

您可以添加:

$cellRangeCriteriaQuerystringList[] = "return-empty=true";

更好的方法

有一个更好的方法,我已经添加到我自己的fork 中。我创建了一个pull request

如果您使用我的 fork(或者如果拉取请求被接受),那么您只需将 'returnEmpty' => true 添加到您的 $cellRange。例如:

    $cellList = $spreadsheetAPI->getWorksheetCellList(
                    $spreadsheetKey,
                    $worksheetID,
                    ['rowStart' => $rowStart,
                     'rowEnd' => $rowEnd,
                     'returnEmpty' => true]);

【讨论】:

  • 嘿 Geoff,我有这样的数据 $data = [ [ 'Date' => '2016-02-02', 'Name' => 'test', 'Email' => ' test@test.com', 'ContactNo' => '12345' ], ['Date' => '2016-02-03', 'Name' => 'test3', 'Email' => 'test3@test. com', 'ContactNo' => '12345' ], [ '日期' => '2016-02-04', '姓名' => 'test4', '电子邮件' => 'test4@test.com', ' ContactNo' => '12345' ], ] 同样,我有一个包含 100 个条目的数组,我想批量更新数据,如果没有特定日期的条目,则需要插入。这怎么可能实现呢?有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
  • 2013-07-24
相关资源
最近更新 更多