将Google App脚本分享给其他用户 - 请求权限&授权脚本

时间:2014-07-08 14:21:16

标签: google-apps-script google-sheets google-drive-api user-permissions

我已经创建了一个电子表格,其背后有一些GAS打开一个包含一些输入的表单,现在我需要部署webapp并将其共享给其他用户。问题是,当其他用户尝试打开电子表格(在Google云端硬盘中共享)时,他们会收到以下错误消息:

enter image description here

我已经尝试过:

  1. 将电子表格共享给用户(通过权限添加用户的电子邮件地址可以修改
  2. 使用以下设置部署webapp设置:
  3. enter image description here

    如您所见,设置屏幕报告“您需要在分发网址之前授权脚本”。

    如何授权脚本?我找不到办法做到这一点。你知道是否有另一种分享方式并让其他用户运行脚本?

4 个答案:

答案 0 :(得分:3)

由于您选择以您的身份执行应用程序,因此您需要先授权此脚本。

只需选择方法doGet并在编辑器中按运行,您将有机会进行授权。

答案 1 :(得分:2)

问题是你正在将网络应用程序与工作表上的ui对话框混合。
webapp是从webapp url加入的(当你发布webapp时给出) ui对话框是一个显示在电子表格顶部的窗口 您想使用webapp,请按照教程进行操作。如果所有用户都在同一个gapps域中,则将其发布为从域中加入。否则使用公共匿名 在发布之前运行doGet进行授权。它也可以使用其他ui-on-sheet但你需要为每个用户授权更多的步骤。

答案 2 :(得分:0)

您需要手动验证脚本是否可以访问该文档。

向访问文档的脚本添加一个函数:

function doInstall() {
   var mysheet = SpreadsheetApp.openById('x4535khxxhidh...');
}

在脚本编辑器中选择:Run->doInstall(或者你称之为函数)当你被要求验证脚本是否有权访问该文档时。

答案 3 :(得分:0)

以下对我有用:

  1. 转到“发布”
  2. 点击“部署为网络应用”
  3. 单击“禁用Web应用程序”(如果您已经发布的话)
  4. 执行脚本,点击“运行”
  5. 授权脚本并使用您的帐户授予权限
  6. 再次,转到“发布”,然后单击“作为Web应用程序部署”
  7. 添加另一个«项目版本»(如果您已经发布的话)
  8. 根据需要将“有权访问该应用程序的人:”更改为“任何人,甚至是匿名的”