Я пытался запустить функцию скрипта приложения, используя API скрипта приложения. Я настроил скрипт в консоли и создал oauth-идентификатор клиента для скрипта. Я настроил экран авторизации и развернул скрипт как исполняемый файл API. Я протестировал вызов функции API в том же скрипте, но получил ошибку 404, говорящую:
Запрошенный URL / v1 / scripts / {{my_script_id}}: запуск не найден на этом сервере.
Ответ вернулся в формате HTML. Я также заметил, что скрипт вызывает свой собственный идентификатор клиента при вызове из API.
Я попытался отключить и снова включить API, который не работал. Я думаю, что это может быть проблемой из-за того, что вызывающее приложение не находится в том же проекте, но я не уверен, как это сделать, поскольку документация Google неясна.
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 при отображении.