Google apps script 将谷歌应用程序脚本共享给其他用户-请求权限&;授权脚本

Google apps script 将谷歌应用程序脚本共享给其他用户-请求权限&;授权脚本,google-apps-script,google-sheets,google-drive-api,user-permissions,Google Apps Script,Google Sheets,Google Drive Api,User Permissions,我已经创建了一个电子表格,后面有一些气体,可以打开一个带有一些输入的表单,现在我需要部署webapp并将其共享给其他一些用户。问题是,当其他用户尝试打开电子表格(在Google Drive中共享)时,他们会收到以下错误消息: 我已经尝试过: 将电子表格共享给用户(添加具有编辑权限的用户电子邮件地址) 使用以下设置部署webapp设置: 如您所见,设置屏幕报告“您需要在分发URL之前授权脚本” 如何授权脚本?我找不到办法。您知道是否有其他方法可以共享并让其他用户运行脚本吗?问题是您将web应用

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

我已经尝试过:

  • 将电子表格共享给用户(添加具有编辑权限的用户电子邮件地址)
  • 使用以下设置部署webapp设置:
  • 如您所见,设置屏幕报告“您需要在分发URL之前授权脚本”

    如何授权脚本?我找不到办法。您知道是否有其他方法可以共享并让其他用户运行脚本吗?

    问题是您将web应用程序与工作表上的ui对话框混合使用。
    从webapp url(发布webapp时提供)访问webapp。
    ui对话框是一个显示在电子表格顶部的窗口。
    如果要使用webapp,请按照教程进行操作。如果所有用户都在同一gapps域中,则将其发布以从域中访问。否则请使用公共匿名。

    发布前运行doGet进行授权。也可以在工作表上执行其他ui,但您需要为每个用户执行更多步骤才能进行授权。

    由于您选择了按需执行应用程序,因此您需要先授权此脚本


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

    您需要手动验证您的脚本是否有权访问该文档

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

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

    在脚本编辑器中选择:
    Run->doInstall
    (或您调用的任何函数),当您需要验证脚本是否有权访问文档时。

    以下操作对我有效:

  • 转到«发布»
  • 单击«部署为web应用»
  • 单击«禁用web应用»(如果您已经发布了它)
  • 执行脚本点击«运行»
  • 授权脚本并授予您帐户的权限
  • 再次转到«发布»并单击«部署为web应用»
  • 添加另一个«项目版本»(如果您已经发布)
  • 根据需要将«谁有权访问应用程序:»更改为«任何人,甚至匿名»

  • 如果我需要共享ui对话框和电子表格怎么办?发布一段简短的代码,让我们知道你在做什么,以及触发了什么。错误是否发生在onOpen中?一般来说,您不应该在那里做任何需要授权的事情,使用菜单项进行授权,每个用户都需要首先执行菜单项。代码验证电子表格单元格内容,然后如果一切正常,它会在特定的gdrive文件夹中创建当前工作表的副本。我认为权限问题是关于这类操作的..我没有得到授权的机会,只是在编辑器中运行它修复了我遇到的问题