404, при попытке развернуть скрипт приложения через App Script API - PullRequest
0 голосов
/ 17 декабря 2018

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

Script:

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

Манифестfile:

{
"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 Ответ

0 голосов
/ 17 декабря 2018

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

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

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

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

Примечания:

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

Чтение:

...