Я пытаюсь отправить HTTP-запрос из приложения Google, связанного с листом Google. Это POST-запрос, адресованный внешнему серверу. К сожалению, это не работает из google appscript, и журнал сообщает о несанкционированной ошибке 401.
Я попытался успешно отправить запрос из службы REST (ARC как расширение Chrome), и я не понимаю, почему тот же запрос не отклоняется сервером, пока запрос appsScript генерирует ошибку.
Функция, которую я написал в приложении, выглядит следующим образом:
function myFunction() {
var url = 'https://servername/servicename/cloud/message';
var options = {
'method': 'post',
'Headers': {
'Content-Type' : 'application/json', 'Host' : 'servername',
'credentials': 'include' },
'Body': JSON.stringify({
'secret': "2.3xo5y9boWhgk4rEB1Xm8TZmb4zPNyPeCPDBiw2rNhvc=",
'to': 'mymail@gmail.com',
'device': null,
'payload': 'apri'
}),
muteHttpExceptions: true,
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
};
Посоветуйте, пожалуйста, как заставить работать скрипт. Я обнаружил, что в других сообщениях stackoverflow указывается решение, основанное на авторизации, но сервер не требует авторизации или пароля, когда HTTP-запрос отправляется через службу REST или веб-страницу, и не может понять, почему он должен требовать их для запроса, поступающего от Google Appscript. Еще один вопрос: может быть, приложение должно быть развернуто особым образом: я развернул его с помощью раздела «Публикация приложения», но есть разные варианты и, возможно, я выбрал неправильный (я развернул как веб-приложение и как исполняемый файл API). Спасибо