【问题标题】:Can a script be too new for a google sheet?对于谷歌表格来说,脚本可能太新了吗?
【发布时间】:2021-08-25 04:43:28
【问题描述】:

我在一个谷歌表格上工作,其中有几个部门每天都在查看和/或添加数据。我一直致力于制作脚本,以使我的部门生活更轻松。我创建了工作表的完全相同的副本,以便在执行新脚本之前确保它可以正常工作。

我有一个可以一键设置订单、发送电子邮件并将其放在日历上的设备。效果很好。

在电子邮件中,我们需要发送一个指向工作文件夹的链接。所以我们有一个脚本可以找到那个文件夹并获得它的链接。

var folder = DriveApp.getFoldersByName("12345 - Help me")
var in = folder.next()
var link = in.getUrl()

在我的测试场地中,这完全符合其应有的效果。当我把它放到我们工作的实际工作表中时,我得到一个错误

“错误异常:很抱歉,发生服务器错误。请稍候,然后重试。”

到目前为止,我已经尝试了 4 天,但一无所获。

  • 我让工作表的“所有者”将其转让给我,以防出现问题。
  • 我已将其移至共享云端硬盘。
  • 制作了整个电子表格的副本以进行测试;它在副本中工作得很好。

要切换到新的电子表格,需要在下班后进行大量工作,而此时没有人应该使用它。我希望有一种方法可以刷新电子表格,以便我们需要重新批准脚本(或其他内容)。有问题的电子表格是在 2018 年创建的。我想知道它是否对脚本来说太旧了;不是说这有什么意义,但是,我想不出别的了。
想法?

【问题讨论】:

  • 欢迎来到Stack Overflow。在此站点上寻求调试帮助的问题(即查找脚本不工作的原因)上,通常希望提问者包含minimal reproducible example。在 Google Apps 脚本的特定情况下,包含项目信息非常重要,例如它是使用 Google Cloud Platform 默认项目还是标准项目、正在使用的运行时(旧运行时或新运行时)以及其他详细信息。

标签: debugging google-apps-script google-sheets


【解决方案1】:

来自问题

有问题的电子表格是在 2018 年创建的。我想知道它是否对脚本来说太旧了;不是说这有什么意义,但是,我想不出别的了。

如今,Google Apps 脚本支持两种运行时,旧的 (Rhino) 和新的 (V8)。有帖子分享将运行时更改为一个或另一个修复了一个问题。考虑到这一点,首先要检查是否在每个用作“测试场”和生产环境的 Google Apps 脚本上使用了哪些运行时,因为有时“混乱”的来源之一是使用不同的运行时。

要尝试的另一件事是创建一个标准的 Google Cloud Platform Project (GCP) 来替换默认的 GCP 项目。在这个项目上启用 Google Drive API。

资源

【讨论】:

  • 感谢鲁本这么快的回复!我检查了;它们都在 V8 上运行。还有其他想法吗?
  • @Striker 添加了另一个尝试。
  • 已经有一个 GCP 设置,我进去添加了 API,但它仍然没有工作。我最终尝试了不同的方法,导致我删除了一个关键的 OAuth ID,但我无法取回它。我最终只工作了 13 个小时,复制了它并重新建立了所有链接和限制。对于从中提取数据的工作表,我还有很长的维修路要走,但是,关键的东西已经修复了。谢谢您的帮助!我想我们永远无法确定发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多