1

我有一个带有关联容器绑定脚本的模板文档。该脚本不需要身份验证 - 它只是在 Google Docs UI 中创建一个自定义菜单。

模板文档归我的 GAE Web 应用所有。通过 Web 应用程序创建新文档使用以下过程:

  1. 在 Web 应用的服务帐户中复制模板。
  2. 使用用户提供的内容更新文档的 media_body;
  3. 插入权限,将用户设置为文档所有者;
  4. 删除与 Web 应用服务帐户关联的权限,以便文档对创建它的用户是私有的。

除了在脚本中执行 onOpen() 函数外,此过程按预期工作。该脚本与文档一起成功复制,并且 onOpen() 可以手动运行(使用“脚本管理器”),但在打开文档时它不会自动执行。删除第 4 步可以解决问题,但这会使文档“不够私密”。

为什么 onOpen() 不在复制的私有文档中执行?

4

1 回答 1

0

这是因为原始的 onOpen 以原始所有者权限运行。当您从权限中删除该用户时,它将无法使用这些保存的凭据。要么不要删除它,要么最好不要更改所有权,只需与用户共享。这也将为您提供更多控制权,因为您将拥有创建的所有系统文件。

于 2013-10-09T23:55:18.190 回答