代码之家  ›  专栏  ›  技术社区  ›  Jjampong

如何提示容器绑定脚本的用户“查看权限”

  •  0
  • Jjampong  · 技术社区  · 3 年前

    据我所知,如果你还没有授权你的应用程序,谷歌应用程序脚本应该会提示你自动查看权限。然而,这并没有发生,我也找不到一种方法来手动触发这样一个可以在 onOpen(e) .

    我想实现的是,当用户尚未授权应用程序时,我的应用程序会提示用户查看权限。

    我尝试过:

    • 让气体自动检测使用过的范围。
    • 使用 appscript.json 文件
    • 使用 Ui.showModalDialog() ScriptApp.getAuthorizationInfo().getAuthorizationUrl() 手动引导用户获取权限。但是,这会导致错误:
    Google Apps Script: Exception: You do not have permission to call Ui.showModalDialog. 
    Required permissions: https://www.googleapis.com/auth/script.container.ui
    
    0 回复  |  直到 3 年前
        1
  •  0
  •   Iamblichus    3 年前

    问题:

    你使用的是一个简单的触发器( onOpen ).简单触发器无法访问需要授权的服务。

    解决方案:

    按照以下步骤手动安装触发器: these steps ,或以编程方式执行以下操作:

    function installTrigger() {
      ScriptApp.newTrigger("yourOnOpenFunction") // Don't call it onOpen
               .forSpreadsheet(SpreadsheetApp.getActive())
               .onOpen()
               .create();
    }
    

    在安装触发器时授予授权。

    注:

    安装的触发器将在安装它的帐户下运行。因此,如果触发器执行的操作取决于执行它的人,那么这不是一个好方法,我建议通过其他方式显示对话框,比如单击按钮或类似方式。

    参考: