Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 使用Google Sheets API有条件地更新数据子集_Google Sheets_Google Sheets Api - Fatal编程技术网

Google sheets 使用Google Sheets API有条件地更新数据子集

Google sheets 使用Google Sheets API有条件地更新数据子集,google-sheets,google-sheets-api,Google Sheets,Google Sheets Api,我有一个用于编辑数据表的桌面应用程序。每一行通过时间戳跟踪其最近的更改。 此外,还有一个包含该数据表的谷歌电子表格,其他人直接在浏览器中使用该表格编辑数据。在电子表格上运行onEdit脚本,该脚本更新每行最后更改的时间戳 桌面应用程序现在使用谷歌电子表格API下载工作表,并通过只使用具有较新时间戳的行将数据合并到本地数据中,这样做很好 我想添加一个选项,让桌面应用程序将其数据自动写入谷歌电子表格,但不覆盖所有行,只覆盖那些具有较旧时间戳的行 我有一个工作版本,它使用spreadsheets.va

我有一个用于编辑数据表的桌面应用程序。每一行通过时间戳跟踪其最近的更改。 此外,还有一个包含该数据表的谷歌电子表格,其他人直接在浏览器中使用该表格编辑数据。在电子表格上运行onEdit脚本,该脚本更新每行最后更改的时间戳

桌面应用程序现在使用谷歌电子表格API下载工作表,并通过只使用具有较新时间戳的行将数据合并到本地数据中,这样做很好

我想添加一个选项,让桌面应用程序将其数据自动写入谷歌电子表格,但不覆盖所有行,只覆盖那些具有较旧时间戳的行

我有一个工作版本,它使用spreadsheets.values.update API覆盖电子表格中的所有数据,但我不知道如何添加实际写入行的条件


理想情况下,该解决方案将避免下载数据、在本地合并数据,然后完全覆盖电子表格,因为数据可能会变得非常大,该过程将花费很长时间,并且需要在更新时限制对电子表格的访问,以避免丢失更改。

对不起,但你不可能做到你想做的事。您必须在更新电子表格之前进行变通,例如检查时间戳是否相同

文件 有关更多信息,请查看以下文档:


这确实假设电子表格中的数据与上次将工作表拉至桌面应用程序后的数据保持不变,因为我无法知道时间戳是否仅在脱机状态下过期(将同时使用浏览器和桌面应用程序)。我希望避免将工作表拉到数据合并本地,然后推送工作表。我想知道Google Sheets API是否能够以某种方式处理基于时间戳的数据合并。在更新电子表格之前,您必须做一个变通方法,例如检查时间戳是否相同。很高兴知道。这正是我想知道的。如果你将其编辑到你的答案中,我会将其标记为已解决,因为在我看来,“不可能”是一个有效的答案。