【问题标题】:Use Google Sheets API to conditionally update a subset of data使用 Google Sheets API 有条件地更新数据子集
【发布时间】:2019-11-20 10:54:47
【问题描述】:

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

桌面应用程序现在使用 Google 电子表格 API 下载表格并将数据合并到本地数据中,仅使用具有较新时间戳的行,这工作正常。

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

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

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

【问题讨论】:

    标签: google-sheets google-sheets-api


    【解决方案1】:

    抱歉,您无法按照您的意愿进行操作。您必须采取一种解决方法,例如在更新电子表格之前检查时间戳是否相同。

    文档

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

    【讨论】:

    • 这确实假设电子表格中的数据确实保持自上次将工作表拉到桌面应用程序以来的状态,因为我不知道时间戳是否仅在离线时已过时(将同时使用浏览器和桌面应用程序)。我想避免不得不将工作表拉到数据合并本地然后推动工作表。我想知道 Google-Sheets API 是否可以以某种方式处理基于时间戳的数据合并。
    • 抱歉,您无法按照您的意愿进行操作。您必须采取一种解决方法,例如在更新电子表格之前检查时间戳是否相同
    • 好的。很高兴知道。这正是我想知道的。如果您将其编辑为您的答案,我会将其标记为已解决,因为在我看来“不可能”是一个有效的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多