【问题标题】:Google Sheet update data from my serverGoogle 表格从我的服务器更新数据
【发布时间】:2015-03-09 18:01:36
【问题描述】:

我创建了一个 Google 表格插件,但现在我需要在我的服务器上有新更新时更新表格。我发现有 2 个选项。

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

对于已发布的插件,提取数据并更新到 Google 表格的最佳选择是什么?

【问题讨论】:

    标签: google-apps-script google-sheets google-spreadsheet-api


    【解决方案1】:

    Google 刚刚发布了 Cloud Messaging Pub/Sub。这个工具可以准确地涵盖您想要完成的任务。

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

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

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

      https://script.google.com/macros/s/AKfycbx7STHODJlW...EjvowTaO0mmZ3TA9Xsdq1/exec
      
    4. 从您的脚本返回开发者控制台并选择 API & Auth 下的 Push。

    5. 在我的情况下,添加不带结尾“exec”的域特定 URL:

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

    【讨论】:

    • @spencer-easton 我的应用已经是 Google 表格的插件。我可以重新发布为网络应用程序吗?我不明白。
    【解决方案2】:

    表单提交触发器仅在有人提交 Google 表单时发生。我不知道您的服务器何时以及通过什么事件进行更新。

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

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

    可安装的时间触发器会容易得多。

    【讨论】:

    • 你的意思是安装时间触发器比我的服务器的http请求更容易吗?
    • 好吧,我真的不知道来自您的服务器的 http 请求是容易还是困难。创建触发器很容易。大多数人会发现将 Google Apps 脚本与 SpreadsheetApp 服务一起使用比使用 Google Sheets API 更容易。所以,是的。触发可能更容易。
    猜你喜欢
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多