|   |   | 
| 
 | Запрос к 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 | 
        Всем спасибо, сам разобрался.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |