【发布时间】:2021-12-15 17:32:17
【问题描述】:
我有一个归服务帐户所有的 GSheet,我想添加一个“编辑时”触发器来接收实时编辑通知。
到目前为止,我已经尝试过/看过:
- 只需将 onEdit 函数添加到绑定脚本中,但是 Google 不允许在脚本上运行 Apps Script(更多讨论问题here):
Google Apps 脚本:该脚本无法运行,因为它归服务帐户所有。请在运行前将项目复制或转移到有效帐户。
-
Drive API 推送通知 - 但这并没有提供所需的每个单元格的详细信息,而且它也没有提供足够快的响应;根据this SO post,最长可达 3 分钟。
-
更改 GSheet 的所有权 - 但是其他要求要求 GSheet 仍然属于服务帐户。
-
使用脚本 API - 但它isn’t allowed to create triggers,无论如何service accounts can’t use the Script API。
还有其他想法吗,或者 Google 根本不允许 Apps 脚本在服务帐户下运行这一事实是否会成为阻碍?”
【问题讨论】:
-
however other requirements require the GSheet to remain belonging to the service account.喜欢什么? -
正如您从官方文章中分享的,警告
Warning: The Apps Script API doesn't work with service accounts.已经发布。但是,这个similar answer 有一个可能的解决方法,但我不确定它是否理想/是否符合您的要求。除此之外,这似乎几乎不可能实现您的目标,也许您可能需要考虑将其作为功能请求发送到 Issue Tracker。 -
@TheMaster 目前我所知道的工作表是由第三方应用程序创建的,但我会看看这个要求有多难和快。
-
@IrvinJayG.Interesting idea,但我认为 Script API 不能用于创建触发器。但我将研究简单地使用另一个帐户拥有的独立脚本来创建指向 GSheet 的 onEdit 触发器。
-
我提出了一个解决方法作为答案。你能确认一下吗?如果这对您的情况没有帮助,我深表歉意。
标签: google-apps-script triggers service-accounts