我试图使用 Apps Script API 运行 Apps Script 函数。我在控制台中设置了脚本,并为脚本创建了一个 oauth 客户端 ID。我配置了授权屏幕并将脚本部署为 API 可执行文件。我测试了在同一个脚本中调用的 api 函数,但收到 404 错误:
在此服务器上找不到请求的 URL /v1/scripts/{{my_script_id}}:run。
响应以 HTML 格式返回。我还注意到,当从 API 调用该脚本时,它似乎生成了自己的客户端 ID。
我尝试禁用并重新启用不起作用的 API。我认为调用应用程序不在同一个项目中可能是一个问题,但我不确定如何做到这一点,因为谷歌文档不清楚。
function trigger(){
var bogus = DriveApp.getRootFolder();
var argument = ["Value0", "Value1", "Value2", "Value3", "Value4", "Value5"];
// https://www.googleapis.com/auth/script.external_request
// https://www.googleapis.com/auth/spreadsheets
var postRequest = {
"Content-Type": "application/json",
"headers": { "Authorization" : "Bearer " + ScriptApp.getOAuthToken()},
"function": "setStatus",
"muteHttpExceptions": true,
"parameters": [argument],
"devMode": false
};
try{
var response = UrlFetchApp.fetch("https://script.googleapis.com/v1/scripts/{{my_script_id}}:run", postRequest);
Logger.log(response);
}catch(err){
Logger.log(err);
}
}
我预计 JSON 形式的某种形式的错误,甚至可能是函数运行,我得到的是一个 HTML 文档,它在显示时显示 404 错误。