【发布时间】:2013-10-09 22:50:14
【问题描述】:
我有一个带有关联容器绑定脚本的模板文档。该脚本不需要身份验证 - 它只是在 Google Docs UI 中创建一个自定义菜单。
模板文档归我的 GAE 网络应用所有。通过 Web 应用创建新文档使用以下过程:
- 在 Web 应用的服务帐户中复制模板。
- 使用用户提供的内容更新文档的 media_body;
- 插入权限以将用户设置为文档所有者;
- 删除与 Web 应用服务帐户关联的权限,以便文档对创建它的用户是私有的。
除了在脚本中执行 onOpen() 函数外,此过程按预期工作。脚本与文档一起成功复制,并且 onOpen() 可以手动运行(使用“脚本管理器”),但在打开文档时它不会自动执行。删除第 4 步可以解决问题,但这会使文档“不够私密”。
为什么 onOpen() 不在复制的私有文档中执行?
【问题讨论】:
-
这很奇怪。您是说如果服务帐户是电子表格上的协作者,那么
onOpen不会运行?您能否在onOpen运行良好的文档上运行一些额外的测试,例如将此服务帐户添加为协作者? -
不,反之亦然:
onOpen()在服务帐户作为协作者被删除后不会运行。
标签: google-app-engine google-apps-script