当应用程序脚本更改Json url中的数据时,自动更新google电子表格中的数据

当应用程序脚本更改Json url中的数据时,自动更新google电子表格中的数据,json,caching,google-apps-script,google-sheets,Json,Caching,Google Apps Script,Google Sheets,我正在使用“Trevor Lohrbeer(@FastFedora)”库将JSON提要导入Google电子表格 简单地说,我只是将function=ImportJSON(url、query、options)输入到单元格中,然后单元格返回那里的数据 一切正常,但当url中的JSON数据发生变化时,google电子表格中的数据不会自动更新。我必须重新将函数输入单元格或手动刷新脚本才能完成 那么有人能给我建议一些解决方案吗?只有在表格中引用的单元格发生变化时,才会重新计算表格中的自定义项。有一些建议,

我正在使用“Trevor Lohrbeer(@FastFedora)”库将JSON提要导入Google电子表格

简单地说,我只是将function=ImportJSON(url、query、options)输入到单元格中,然后单元格返回那里的数据

一切正常,但当url中的JSON数据发生变化时,google电子表格中的数据不会自动更新。我必须重新将函数输入单元格或手动刷新脚本才能完成


那么有人能给我建议一些解决方案吗?

只有在表格中引用的单元格发生变化时,才会重新计算表格中的自定义项。有一些建议,我建议设置触发器,以便在每次执行以下操作时重新计算工作表:

  • 重新打开它
  • 更改单元格-取决于数据的使用量
  • 使用时间驱动脚本定期重新计算

图纸中的自定义项只有在其引用的单元格发生更改时才会重新计算。有一些建议,我建议设置触发器,以便在每次执行以下操作时重新计算工作表:

  • 重新打开它
  • 更改单元格-取决于数据的使用量
  • 使用时间驱动脚本定期重新计算
    • 问题解决了

      我使用TJ回答的方法和建议链接。 我在原始函数中添加了一个额外的参数,如$A$1

      =myFunction(firstParam,$A$1)

      在我的gs中再添加一个函数

      function onEdit(e)
      {SpreadsheetApp.getActiveSheet().getRange('A1').setValue(Math.random());}
      
      然后,当工作表中有任何编辑或触发OneEdit(e)时,单元格将被更新

      最后,我使用触发器计时器每分钟触发一次OneEdit,以使数据保持更新

      谢谢

      PS:以前,触发器设置对我不起作用,因为importjson函数只用于触发整个importjson.gs,而不是像触发器菜单中的设置那样单独触发函数。

      问题解决了

      我使用TJ回答的方法和建议链接。 我在原始函数中添加了一个额外的参数,如$A$1

      =myFunction(firstParam,$A$1)

      在我的gs中再添加一个函数

      function onEdit(e)
      {SpreadsheetApp.getActiveSheet().getRange('A1').setValue(Math.random());}
      
      然后,当工作表中有任何编辑或触发OneEdit(e)时,单元格将被更新

      最后,我使用触发器计时器每分钟触发一次OneEdit,以使数据保持更新

      谢谢


      PS:以前,触发器设置对我不起作用,因为importjson函数仅用于触发整个importjson.gs,而不只是像触发器菜单中的设置那样单独触发函数。

      您将找到公式重新计算的解释,这至少有助于您了解情况。由于
      GOOGLECLOCK
      函数已失效,因此没有任何公式会触发自动重新计算。您将找到公式重新计算的解释,这至少有助于您了解情况。由于
      GOOGLECLOCK
      函数已失效,因此没有任何公式会触发自动重新计算。