Google Sheet 从我的服务器更新数据

Google Sheet update data from my server

我创建了一个 Google Sheet 附加组件,但现在我需要在我的服务器上有新更新时更新 sheet。我发现有 2 个选项。

  1. 使用可安装的触发器定期从我的服务器中提取值。
  2. 使用表单提交触发器。我不确定这是否可以用于拉取数据。

对于已发布的附加组件,提取数据并更新到 Google Sheet 的最佳选择是什么?

只有当有人提交 Google 表单时才会触发表单提交。我不知道您的服务器何时以及通过什么事件更新。

如果您的服务器可以提交 HTTP 请求,您可以使用 Google 表格 API。

https://developers.google.com/google-apps/spreadsheets/

安装时间触发器会容易很多。

Google 刚刚发布了云消息 Pub/Sub。这是一个完全涵盖您要完成的任务的工具。

https://cloud.google.com/pubsub/overview

Pub/Sub 是一个 API,专为应用程序到应用程序的消息传递而设计。您需要将脚本设置为推送 webhook 端点。这并不明显,也没有记录,但我通过探索弄明白了。这是为推送通知而不是使用拉取设置加载项和服务器所必需的。

  1. 将您的脚本发布为网络应用程序。
  2. 将其部署到 Chrome 商店。您不需要发布,因此可以将其保留在草稿中。
  3. 获取已发布的 WebApp URL。它看起来像:

    https://script.google.com/macros/s/AKfycbx7STHODJlW...EjvowTaO0mmZ3TA9Xsdq1/exec
    
  4. 从您的脚本返回开发人员控制台并在 API & Auth.

  5. 下选择推送
  6. 在我的例子中添加没有尾随 'exec' 的特定域 URL :

    https://script.google.com/macros/s/AKfycbx7STHODJlW...EjvowTaO0mmZ3TA9Xsdq1/