|
Запрос к API Yandex | ☑ | ||
---|---|---|---|---|
0
zMorfiyz
20.07.23
✎
16:05
|
Доброго времени суток. Платформа 8.3.10.2252, конфигурация УПП 1.2.17.3. Делаю запрос для получение информации об отгрузках
Проверял в консоли Yandex все работает, но в 1С ответ не приходит и не выдает ни каких ошибок, подскажите что не правильно написал. ДатаНачало = Формат(ТекущаяДата() - 10 * 24 * 60 * 60, "ДФ=dd-MM-yyyy"); ДатаКонца = Формат(ТекущаяДата(), "ДФ=dd-MM-yyyy"); ТелоЗапроса = Новый Структура; ТелоЗапроса.Вставить("dateFrom", ДатаНачало); ТелоЗапроса.Вставить("dateTo", ДатаКонца); JSONТело = Новый ЗаписьJSON; JSONТело.УстановитьСтроку(); ЗаписатьJSON(JSONТело,ТелоЗапроса); ДанныеДляОтвета = JSONТело.Закрыть(); SL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); Соединение = Новый HTTPСоединение("api.partner.market.yandex.ru", 443, , , НеОпределено, Истина, SL); Заголовки = новый Соответствие(); Заголовки.Вставить("Authorization", "Bearer " + СтруктураПараметровСайта.Пароль + ""); Заголовки.Вставить("Content-Type","application/json"); Запрос = Новый HTTPЗапрос("/campaigns/" + СтруктураПараметровСайта.ИмяПользователя + "first-mile/shipments?page_token=&limit=", Заголовки); Запрос.УстановитьТелоИзСтроки(ДанныеДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Соединение.Записать(Запрос, ИмяФайлаОтветаОт); |
|||
1
ass1c
20.07.23
✎
16:32
|
в POSTMAN сначала отладь - как только там заработает, уже потом транслируй в 1с - идеальная схема.
|
|||
2
ttk
20.07.23
✎
17:11
|
(0)
1) как то ты усложняешь ssl = Новый ЗащищенноеСоединениеOpenSSL(); Соединение = Новый HTTPСоединение("api.partner.market.yandex.ru",,,,,,ssl); 2) Заголовки.Вставить("Authorization", "Bearer " + СтруктураПараметровСайта.Пароль + ""); емнип у яндекса без всяких Bearer авторизация, типа Заголовки.Вставить("Authorization", "OAuth oauth_token=blyablyablya,oauth_client_id=blablabla"); 3)"first-mile/shipments?page_token=&limit=", а где сам токен и лимит? ну и правильно тебя в (1) в постман отправили |
|||
3
Donkey_hot
20.07.23
✎
21:28
|
(0) Мне кажется, ваше желание получить информацию (запрос GET или в редких случах POST) не соответствует методу HTTPСоединение.Записать(), который реализует запрос PUT
|
|||
4
Donkey_hot
20.07.23
✎
21:30
|
(3) Если путаетесь в специальных методах Получить(), ОтправитьДляОбработки(), Записать() - используйте универсальное ВызватьHTTPМетод() с соответствующим первым параметром.
|
|||
5
Donkey_hot
20.07.23
✎
21:37
|
(3) Посмотрел в документации, действительно получение информации реализовано через PUT-запрос. Оставим за скобками профессионализм таких разработчиков, значит проблема в чем-то другом.
|
|||
6
Donkey_hot
20.07.23
✎
21:41
|
(5) Проверьте код состояния у объекта HTTPОтвет. Похоже действительно мудрите с авторизацией. Конструктор защищенного соединения SSL вообще можно вызывать без параметров, а конструктор HTTP только с двумя, как писали в пункте 2 ответа (2)
|
|||
7
zMorfiyz
21.07.23
✎
08:57
|
(6) Спасибо за подсказку про HTTPОтвет, приходит ошибка про тело запроса. Буду разбираться. С авторизацией все ок, у меня на чтение заказов запрос работает.
|
|||
8
Dimiurg1C
21.07.23
✎
10:31
|
Бывает что несмотря на тело запроса, подобные параметры и в строку надо заводить
|
|||
9
zMorfiyz
24.07.23
✎
10:21
|
(8) Попробовал в строку, ошибка одна и та же код 400
|
|||
10
Проводкин
24.07.23
✎
11:16
|
(0) у яндекса с получением ярлыков сегодня проблемы какие то. ведутся тех работы
|
|||
11
zMorfiyz
25.07.23
✎
15:39
|
Всем спасибо, сам разобрался.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |