404, при попытке развернуть скрипт приложения через App Script API

Я пытаюсь развернуть сценарий приложения через API сценария приложения, но получаю сообщение об ошибке 404 - как в сценарии, так и на площадке OAuth.

Автор сценария:

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"
}
}

Есть ли какой-то шаг, который мне еще нужно сделать, чтобы развернуть?

1 ответ

Возможные проблемы и решение:

  • Неверный manifestFileName: appsscript является единственным допустимым именем манифеста, в настоящее время.
  • Неверный номер версии: Номер версии должен быть номером действительной версии, которая уже сохранена. Развертывание будет основано на этом номере версии. Чтобы увидеть доступные версии, см. Файл> Управление версиями.

Фрагмент кода:

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

Заметки:

  • В настоящее время нет способа создать новое развертывание веб-приложения непосредственно из API.
  • Все новые развертывания projects.deployments.create по умолчанию execution_api точка входа. В настоящее время нет способа настроить точку входа из API.
  • Если было допустимое развертывание веб-приложения, вы все равно сможете создать новую версию из последнего кода, используя projects.versions.create и обновите последнюю версию веб-приложения, чтобы использовать последнюю версию (projects.deployments.update). В этом случае точка входа в веб-приложение, если она уже существует, не изменяется, но по умолчанию выполняется api/null, если в развертывании не было действительной точки входа, которая обновляется.

Читать: