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
的权限。
为什么我可以从脚本编辑器调用此函数,但不能从工作表本身调用?
发布于 2018-07-11 19:24:45
我也有同样的问题。解决方案似乎是创建一个运行应用程序脚本函数的自定义菜单,而不是编写一个自定义函数并从电子表格中的单元格调用它。
从菜单触发的功能将在必要时要求用户授权,因此可以使用所有应用程序脚本服务。我学会了这个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');
}
编写并保存此代码后:
关闭并重新打开你的
https://stackoverflow.com/questions/43594248
复制相似问题