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 https://developers.google.com/apps-script/guides/sheets/functions.
Example:
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');
}
编写并保存此代码后:
- 关闭并重新打开您的 Google Sheets 文档。
- 几秒钟后,一个新菜单“我的自定义菜单”将出现在
顶部,文件、编辑、查看、...、帮助旁边。
- 单击“我的自定义菜单”,然后单击“运行我的函数”以调用
函数 myFunction.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)