Я пытался запустить функцию скрипта приложений с помощью 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 при отображении.