gpt4 book ai didi

javascript - 谷歌表格 "You do not have permission to call appendRow"

转载 作者:行者123 更新时间:2023-11-29 10:32:06 26 4
gpt4 key购买 nike

function myFunction() {
var url = 'https://api.github.com/users/chaimf90/repos'
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json)
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(['Repo Name', data[0].name]);
}

当我从脚本编辑器中执行此函数时,它按预期运行,但是当我尝试通过调用 =myFunction() 在工作表本身中调用此函数时,我收到一条错误消息,提示我没有调用 appendRow 的权限。

为什么我可以从脚本编辑器中调用此函数,而不是从工作表本身调用?

最佳答案

我遇到了同样的问题。解决方案似乎是创建运行 Apps 脚本函数的自定义菜单,而不是编写自定义函数并从电子表格中的单元格调用它。

从菜单触发的功能将在必要时请求用户授权,然后可以使用所有 Apps 脚本服务。我学会了这个here .

例子:

function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('My Custom Menu')
.addItem('Run My Function', 'myFunction')
.addToUi();
}

function myFunction() {
SpreadsheetApp.getUi()
.alert('Running My Function');
}

编写并保存此代码后:

  1. 关闭并重新打开您的 google 表格文档。
  2. 几秒钟后,一个新菜单“我的自定义菜单”将出现在顶部,在"file"、“编辑”、“查看”...、“帮助”旁边。
  3. 点击“我的自定义菜单”,然后点击“运行我的功能”以调用函数 myFunction。

关于javascript - 谷歌表格 "You do not have permission to call appendRow",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43594248/

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