遵循这些指南 https://developers.google.com/apps-script/guides/rest/quickstart/target-script和 https://developers.google.com/apps-script/guides/rest/quickstart/nodejs ,我正在尝试使用 Node 中的执行 API 返回 Google 电子表格中的一些数据。
我已将脚本 ID 设置为 Apps 脚本文件的项目 key 。我还验证了在脚本编辑器中运行该函数是否成功。
但是,当使用 Node 在本地运行脚本时,我收到此错误:
API 返回错误:错误:ScriptError
我还确保该脚本与我用来通过 Google API 进行身份验证的项目相关联。
有人对我可以做什么来调试/解决这个问题有任何建议吗?该错误是如此普遍,以至于我不知道该去哪里查找。
更新:我在此 JSBin 中包含了代码的副本(year
函数是入口点)
https://jsbin.com/zanefitasi/edit?js
更新2:该错误似乎是由包含此行引起的
var电子表格 = SpreadsheetApp.open(DriveApp.getFileById(docID));
最佳答案
看来我没有请求正确的范围。 Nodejs 示例包括 'https://www.googleapis.com/auth/drive'
,但我还需要在 SCOPES
数组中包含 'https://www.googleapis.com/auth/spreadsheets'
。看来错误消息 ScriptError
这里的信息不是很丰富。
为了找到您需要的范围,请转到“脚本编辑器”>"file">“项目属性”>“范围”。请记住删除旧凭据 ~/.credentials/old-credential.json
以便脚本请求新的凭据。
关于node.js - 使用 Google Apps 脚本执行 API 时出现 ScriptError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35703787/