首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >谷歌工作表“你没有调用appendRow的权限”

谷歌工作表“你没有调用appendRow的权限”
EN

Stack Overflow用户
提问于 2017-04-25 01:20:49
回答 1查看 6K关注 0票数 8
代码语言:javascript
复制
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的权限。

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

EN

回答 1

Stack Overflow用户

发布于 2018-07-11 19:24:45

我也有同样的问题。解决方案似乎是创建一个运行应用程序脚本函数的自定义菜单,而不是编写一个自定义函数并从电子表格中的单元格调用它。

从菜单触发的功能将在必要时要求用户授权,因此可以使用所有应用程序脚本服务。我学会了这个here

示例:

代码语言:javascript
复制
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. document.
  2. After几秒钟,一个新的菜单“我的自定义菜单”将出现在顶部,旁边的文件,编辑,查看,...,帮助。
  3. 点击“我的自定义菜单”,然后点击“运行我的函数”,以调用函数myFunction。
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43594248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档