gpt4 book ai didi

google-apps-script - 无法在 'Installed for current user' 配置下测试附加组件(即 AuthMode.NONE)

转载 作者:行者123 更新时间:2023-12-03 21:27:06 38 4
gpt4 key购买 nike

我正在尝试构建我的第一个编辑器插件,其中相同的代码库应该适用于文档、表格和幻灯片。

我仍处于测试阶段,这就是我遇到障碍的地方。问题来了——

根据 Installed versus enabled 的文档, 如果要选择一个测试配置为 为当前用户安装 (但尚未启用),菜单 应该是可见的(这将在 AuthMode.NONE 下);但是,根据我的脚本,它向我抛出了一个错误,表明 -

Google Apps Script: You do not have permission to perform that action.



...并且菜单也不可见。

注意:应该在浏览器控制台上查看此错误

这是代码库和 list 文件 -

代码.gs
var fileUI = SpreadsheetApp.getActiveSpreadsheet() ? SpreadsheetApp.getUi() : (DocumentApp.getActiveDocument() ? DocumentApp.getUi() : (SlidesApp.getActivePresentation() ? SlidesApp.getUi() : false));

function onInstall(e) {
onOpen(e);
}

function onOpen(e) {
if (fileUI) {
var menu = fileUI.createAddonMenu();
if (e && e.authMode == ScriptApp.AuthMode.NONE) {
menu.addItem('Please Login', 'login');
} else {
menu.addItem('Hurray', 'itWorks');
}
menu.addToUi();
}
}

function login() {
fileUI.alert('Please login to access this add-on');
}

function itWorks() {
fileUI.alert('Hurray! It works');
}

appscript.json( list 文件)
{
"timeZone": "Asia/Kolkata",
"dependencies": {
},
"oauthScopes": [
"https://www.googleapis.com/auth/documents.currentonly",
"https://www.googleapis.com/auth/presentations.currentonly",
"https://www.googleapis.com/auth/spreadsheets.currentonly"
],
"exceptionLogging": "STACKDRIVER"
}

评论
  • 在其他两个配置标准下测试时,附加组件可以完美运行(两者都有 AuthMode.LIMITED ):
  • 在当前文档中启用
  • 已安装并启用
  • 该问题在所有 3 个编辑器中都存在:文档、表格和幻灯片
  • 我只需要对加载项正在使用的当前文档的读取权限(不确定我是否需要在那里编辑某些内容)

  • 我有一种感觉,我在这里错过了一些 super 基本的东西。如果我跳过了涵盖此内容的文档的某些部分,我深表歉意。任何帮助,将不胜感激。谢谢。

    编辑注释 :
  • 在 oauthScopes
  • 上添加了第三条注释
  • 澄清了菜单不可见的问题
  • 最佳答案

    当脚本文件被加载到内存中以执行任何函数(onOpen 或任何其他函数)时,所有全局变量都会被加载/执行。您的问题源于试图获取 getActive*() 下的事件(AuthMode.None)文档.
    如果你能到Ui没有到达 getActive()这是可能的。但是您正在尝试访问中间的文档:

    SpreadsheetApp .getActiveSpreadsheet() ? SpreadsheetApp.getUi().


    粗体部分是导致问题的原因。 SpreadsheetApp.getUi()会正常工作。
    你也可以试试 try{...}...catch(e){}反而。
    引用:
  • Authorization modes - 访问文档:在 AuthMode 下没有:“NONE”表
  • Related answer - 可能不工作。
  • 关于google-apps-script - 无法在 'Installed for current user' 配置下测试附加组件(即 AuthMode.NONE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59426913/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com