|
PUT запрос из 1с | ☑ | ||
---|---|---|---|---|
0
Чеширрр
07.08.16
✎
10:26
|
Необходимо сваять интеграцию с неким API - передать данные в формате json
С формированием файла понятно проблем нет. А вот дальше? Есть некие разделы тела запроса, куда я должен вложить эти данные, а я понятия не имею как это делается. Если есть некий faq для "хелло ворлд" 1с ников которые с этим сталкиваются - кните носом пожалуйста... |
|||
1
Чеширрр
07.08.16
✎
10:32
|
Точнее post запрос, извиняюсь)
|
|||
2
Кирпич
07.08.16
✎
11:00
|
||||
3
Юрий Лазаренко
07.08.16
✎
12:26
|
(0) Ну так HttpСоединение.Записать() тебе нужен:
HTTPСоединение.Записать (HTTPConnection.Put) HTTPСоединение (HTTPConnection) Записать (Put) Синтаксис: Записать(<HTTPЗапрос>) Параметры: <HTTPЗапрос> (обязательный) Тип: HTTPЗапрос. HTTP-запрос. Возвращаемое значение: Тип: HTTPОтвет. Описание: Используется для отправки данных на HTTP-сервер с помощью PUT-запроса. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
4
Юрий Лазаренко
07.08.16
✎
12:30
|
Не, не Записать(), ОтправитьДляОбработки. В СП есть развернутый пример.
|
|||
5
Юрий Лазаренко
07.08.16
✎
12:33
|
Вот рабочий пример для работы с API Яндекс.Директ:
// Установка соединения ПараметрыСервера = КэнДиректПовторноеИспользование.ПолучитьПараметрыСервераAPI(Профиль); Попытка ССЛ = Новый ЗащищенноеСоединениеOpenSSL; Заголовки = Новый Соответствие; Заголовки["Content-Type"] = "application/json; charset=" + ПараметрыСервера.КодировкаЗапроса; //Заголовки["Content-Type"] = "application/json; charset=" + ПараметрыСервера.КодировкаОтвета; Соединение = Новый HTTPСоединение(ПараметрыСервера.АдресСервера,,,,, Истина); Исключение Результат.БылиОшибки = Истина; Результат.МассивСообщений.Добавить("Не удалось установить соединение с сервером: " + ИнформацияОбОшибке().Описание); Возврат Результат; КонецПопытки; // Отправка запроса ИмяФайлаЗапроса = ПолучитьИмяВременногоФайла(); ИмяФайлаРезультата = ПолучитьИмяВременногоФайла(); Попытка // Запись запроса в файл ЗапросТекстовыйДокумент = Новый ЗаписьТекста(ИмяФайлаЗапроса, ПараметрыСервера.КодировкаЗапроса,, Истина, Символы.ПС); ЗапросТекстовыйДокумент.Записать(ЗапросJSON); ЗапросТекстовыйДокумент.Закрыть(); // Соединение с сервером Соединение.ОтправитьДляОбработки(ИмяФайлаЗапроса, ПараметрыСервера.АдресРесурса, ИмяФайлаРезультата, Заголовки); Соединение = Неопределено; // Чтение результата из файла ЗапросТекстовыйДокумент = Новый ТекстовыйДокумент; ЗапросТекстовыйДокумент.Прочитать(ИмяФайлаРезультата, ПараметрыСервера.КодировкаОтвета); Результат.РезультатЗапроса = ЗаполнитьСтруктуруИзОтветаJSON(ОбработкаСлужебныхСимволовОтветаJSON(ЗапросТекстовыйДокумент.ПолучитьТекст())); //Результат.РезультатЗапроса = JSONСервер.ЗаполнитьСтруктуруИзОтветаJSON(ЗапросТекстовыйДокумент.ПолучитьТекст()); Исключение Результат.БылиОшибки = Истина; Результат.МассивСообщений.Добавить("Ошибка при отправке запроса: " + ИнформацияОбОшибке().Описание); КонецПопытки; |
|||
6
Чеширрр
07.08.16
✎
13:06
|
Яя не врублю в параметры метода post.
У меня в доках указано: Тело запроса, разделы. И я никак в сети не могу найти пример запроса с разделами, как они формируются То есть пишу part1= (тут вроде подаю то что надо подать на вход) дальше к этому добавляю part2 = тут остальное) Дело очевидно в том что я синтаксиса не знаю. |
|||
7
Юрий Лазаренко
07.08.16
✎
17:09
|
(6) Какие такие разделы мазделы? Покажи документацию.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |