404,同时尝试通过应用程序脚本API部署应用程序脚本



我正试图通过应用程序脚本API部署应用程序脚本,但在脚本和OAuth游乐场中都不断出现404错误。

脚本:

function createNewFile() {
var options,payload,response,theAccessTkn,url, thisID;
thisID = ScriptApp.getScriptId();
theAccessTkn = ScriptApp.getOAuthToken();
url = "https://script.googleapis.com/v1/projects/"+thisID+"/deployments";
payload = {
"versionNumber": 8,
"manifestFileName": "appscript.json",
"description": "oauthtest"
}
options = {
"method" : "POST",
"muteHttpExceptions": true,
"headers": {
'Authorization': 'Bearer ' +  theAccessTkn
},
'contentType': 'application/json',
"payload": JSON.stringify(payload)
};
response = UrlFetchApp.fetch(url,options);
Logger.log(response)
return response;
}

清单文件:

{
"timeZone": "Africa/Johannesburg",
"dependencies": {
},
"webapp": {
"access": "ANYONE_ANONYMOUS",
"executeAs": "USER_DEPLOYING"
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": ["https://www.googleapis.com/auth/drive", 
"https://www.googleapis.com/auth/script.external_request", 
"https://www.googleapis.com/auth/script.deployments"]
}

日志错误:

[18-12-17 10:31:10:575 SAST] {
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
}

我还需要做一些步骤来部署吗?

可能的问题&解决方案:

  • manifestFileName不正确:appsscript是目前唯一有效的清单名称
  • 版本号不正确:版本号应该是已保存的有效版本号。部署将基于此版本号。要查看可用版本,请参见文件>管理版本

代码段:

payload = {
"versionNumber": 1,
"manifestFileName": "appsscript",
"description": "oauthtest"
}

注意事项:

  • 目前,无法直接从api创建新的web应用程序部署
  • 所有新部署projects.deployments.create默认为execution_api入口点。目前还没有办法从api中配置入口点
  • 如果存在有效的web应用部署,则您仍然可以使用projects.versions.create从最新代码创建新版本,并更新最新的web应用程序部署以使用最新版本(projects.deployments.update(。在这种情况下,web应用程序入口点(如果已经存在(保持不变,但是,如果部署中没有有效入口点,则默认为execution-api/null,即更新

要阅读:

  • 部署#create
  • 部署#更新
  • 部署#入口点
  • 第63期冲突

相关内容

  • 没有找到相关文章

最新更新