Google Apps脚本-应用中无授权提示

时间:2019-03-06 13:12:55

标签: google-apps-script

解决这个问题已有一段时间了。我正在为我们的一些较小的团队建立共享文档,这些团队的技术水平稍低,他们需要同时访问并且理想地匹配他们“知道”的Excel。因此,Google表格。

但是,我已经用自己的帐户愉快地工作了所有代码;我不能可靠地让系统提示与谁共享工作表的最终用户进行授权。有时通过随机排列行星会出现授权提示;但是通常返回的只是一个错误消息:“您无权执行该操作。请让该物品的所有者授予您访问权限。”

我已经在这里闲逛了一段时间,并发现了其他一些尝试使用URLFetch或类似内容时发生的类似问题的讨论,但我的想法甚至是最简单的-建议的示例。典型的方法是创建一个菜单项,然后调用另一个脚本(因为添加菜单不需要授权),然后运行该菜单项应调用对话框。

以下是我在全新的Google工作表上的“测试”案例;以某种方式,当与其他用户共享时,此处的某些内容不起作用。

// Works fine; creates menu item without authorisation.
function onOpen(){
  SpreadsheetApp.getUi().createMenu("Test").addItem("2","something").addToUi();
}

// Does nothing; called by menu created in onOpen.
function something(){
}

// Not called in script, but sufficient to make oAuth require
// permission from end user to run anything else.
function unaccessedThingToDo(){
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('something')
      .forSpreadsheet(ss)
      .onOpen()
      .create();
}

任何人都可以建议任何可能的解决方法来强制显示“身份验证”提示,以便我的其余代码可以实际使用吗?我知道用户可以打开脚本编辑器并在其中运行脚本,但是让我的用户不慌不忙地做比做事更糟糕。

0 个答案:

没有答案