电子表格自定义函数 returns 错误,而在脚本编辑器中没有

Spreadsheet custom function returns error while in script editor not

我在电子表格中创建了自定义函数,它从 Fusion table 获取数据。

function getData(){
  var tableId = "********";
  var sql = 'SELECT * FROM ' + tableId + ' LIMIT 100';
  var response = FusionTables.Query.sql(sql);
  Logger.log(response);
  return response;
}

当我 运行 脚本编辑器中的函数时它起作用,但是当我在电子表格的单元格中调用该函数时它 returns:
Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.

从电子表格和脚本编辑器中获取数据的方法是否不同,还是我做错了什么?

谢谢你的想法!

自定义函数无法访问用户数据的用户服务。文档列出了可以在自定义函数中使用的服务。

https://developers.google.com/apps-script/guides/sheets/functions#using_apps_script_services

使用执行 API 可以解决此问题。基本思想是将脚本发布为执行 api 并从自定义函数中调用它。在以下位置查看我放在一起的演示:

https://github.com/Spencer-Easton/Apps-Script-Authorized-Custom-Function