【发布时间】:2021-06-18 05:30:11
【问题描述】:
我在“Google Workspace Marketplace”中有一个用于表格的 Google 应用脚本 (GAS) 插件。
调用 Urlfetch 以从我们的 API 获取数据的脚本。
一位用户创建了一张现在永远调用 API 的工作表。 用户没有在任何网络浏览器中打开工作表。
我可以在日志中看到 API 调用永远不会停止。每天超过20k。 我与用户交谈并检查了他的工作表。没有触发器或循环。在我的帐户中,用户表工作正常。
对于这个用户,我可以做些什么来阻止这个脚本永远运行?
Google Admin 中有什么方法可以阻止脚本运行吗?
感谢您的帮助,
兄弟, 亨里克
【问题讨论】:
-
必须是客户端?用户 Sheet 调用 Urlfetch 从 API 获取数据。但我知道 Urlfetch 正在 Google 服务器上运行,所以我猜服务器陷入了某种永恒的循环?
-
代码挺大的。是 - 调用 API 的自定义函数。用户添加 API 密钥的自定义菜单。
-
我认为 Urlftech 的 Google Server 句柄挂了。它永远不会停止。今天我尝试创建一个新版本的 Addon 来查看 API 调用是否停止。它没。它继续。很奇怪。
-
是什么触发了这个功能?当您说
I can see in Logs that the API calls never stops时,您的意思是应用程序脚本或 API 中的日志?在 Apps Script 中,您看到函数执行了多次? -
用户可以从自定义函数或菜单“刷新”按钮触发 URL 获取。在这种情况下,它不知道这些功能是如何被触发的。用户表有大约 1000 个 API 调用(大表),我可以在 Google Apps 脚本日志中看到调用在循环中。日志中有 1000 个调用,然后停止并等待大约 20 分钟的随机时间,然后重新开始。今天,我在过去 24 小时内从这张表中收到了 30k 次 API 调用。我不知道如何阻止它。
标签: google-apps-script google-sheets infinite-loop terminate