Задача: Отправлять Post/Get запросы из 1С в google apps script для дальнейшей обработки и записей в google таблицы.
Проблем с отправкой Post запросов из postman и python нет. Всё проходит без заголовков авторизации, т.к развернул веб-приложение в apps script "для Всех". НО! По какой-то неведомой причине при отправке Post запроса из 1С, он возвращает 401 (Unauthorized). Из-за этого я в недоумении, что мне в заголовке авторизации указывать, если она не требуется чтобы постучаться туда. С Oauth я дел не хочу иметь, т.к в 1С это сделать супер геморно, на других ЯП в сотни раз легче, так что Oauth не вариант(
Код 1С
ДанныеЗапроса = Новый Структура;
ДанныеЗапроса.Вставить("key1", "value1");
ДанныеЗапроса.Вставить("key2", "value2");
ЗаписьJSON = Новый ЗаписьJSON;
тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " ", Истина);
ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
ЗаписатьJSON(ЗаписьJSON, ДанныеЗапроса);
СтрокаJS = ЗаписьJSON.Закрыть();
SSL = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("script.google.com/macros/s/AKfycbwmBXODKTB32VF3rkDQ2cHaGCP5gE6O2lnSQe2zSEjA0GnG2Babsf8l8b9aG2G7SP6y/exec",443,,,,,SSL,); //создаем запрос данных методом POST
Запрос = Новый HTTPЗапрос();
Запрос.УстановитьТелоИзСтроки(СтрокаJS,КодировкаТекста.UTF8);
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Попытка
Результат = Соединение.ОтправитьДляОбработки(Запрос);
Если Результат.КодСостояния >= 400 Тогда
Сообщить(Результат.КодСостояния);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось отправить запрос, ошибка "+Строка(Результат.КодСостояния)+Результат.ПолучитьТелоКакСтроку());
Иначе
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку() );
Данные = ПрочитатьJSON(ЧтениеJSON);
КонецЕсли;
Исключение
Сообщить("Не удалось выполнить запрос"+ОписаниеОшибки());
КонецПопытки;
(2)В заголовке или в соединении? В заголовке попробовал, все равно 401. Я вчера эндпоинт создал отдельного апи чтобы протестить, тоже без авторизации, пост запрос спокойно прошел через 1с
Строку энкодил так: Пользователь:Пароль
(У этого пользака полный доступ)