|
API Яндекс маркет : Запрос остатков 404 FORBIDDEN OAuth token is invalid PLUT, timurhv, MWWRuza, Greeen, eddy_n, Эх-эх-эх, Somebody, banco, Double_Medved, bvb, Bad_Aleks, navigator, Vstur, San787, Олдж, palsergeich, XLife, Кир Пластелинин, Джордж1, ДенисСмирнов, Dedal, shuhard, Мультук, Garykom, integer, apiary, Garikk, , zenik, Vostochnick, Волшебник, phabeZ, Homer, Hawk_1c, maxar, Builder, Интересный вопрос, Fish
| ☑ | ||
|---|---|---|---|---|
|
0
bvb
09.07.26
✎
14:09
|
Добрый день
Хочу получить остатки по сабжу. Код метода вроде типовой Сгенерили токен с полным доступом Токен = "ACMA:DEBBTNiCsrSfB16QF8m2vZUgA5Gn3nfTKsctbIIm:5323ffaf"; в качестве СampaignId используем Business_ID из кабинета //https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/offers/stock АдресСервера = "api.partner.market.yandex.ru"; Ресурс = "/v2/campaigns/" + СampaignId + "/stocks.json"; // или /v3/... Заголовки = Новый Соответствие; //Заголовки.Вставить("Authorization", "OAuth" + OAuth_Токен); Заголовки.Вставить("Authorization", "Bearer " + OAuth_Токен); Заголовки.Вставить("Content-Type", "application/json"); Заголовки.Вставить("Accept", "application/json"); // 2. Инициализация HTTP-соединения ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(); HTTPСоединение = Новый HTTPСоединение(АдресСервера, , , , , , ЗащищенноеСоединение); HTTPЗапрос = Новый HTTPЗапрос(Ресурс, Заголовки); // 3. Выполнение GET-запроса Ответ = HTTPСоединение.Получить(HTTPЗапрос); // 4. Обработка ответа Если Ответ.КодСостояния = 200 Тогда ОтветСтрокой = Ответ.ПолучитьТелоКакСтроку(); // Разбор JSON ответа ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ОтветСтрокой); ДанныеОтвета = ПрочитатьJSON(ЧтениеJSON, Истина); // Пример вывода остатков по товарам Если ДанныеОтвета.Свойство("result") И ДанныеОтвета.result.Свойство("stocks") Тогда Для Каждого СтрокаОстатка Из ДанныеОтвета.result.stocks Цикл Сообщить("SKU на Маркете: " + СтрокаОстатка.marketSku); Сообщить("Доступно для продажи: " + СтрокаОстатка.count); КонецЦикла; КонецЕсли; Иначе Сообщить("Ошибка получения данных: " + Ответ.КодСостояния); Сообщить(Ответ.ПолучитьТелоКакСтроку()); КонецЕсли; |
|||
|
1
PLUT
гуру
09.07.26
✎
13:53
|
токен инвалид
доступ запрещён |
|||
|
2
Мультук
гуру
09.07.26
✎
13:58
|
(0)
Это вы настоящий токен светите в интернет или что ? |
|||
|
3
MWWRuza
гуру
09.07.26
✎
14:02
|
(2) Пох, если он все равно не работает :-)
|
|||
|
4
bvb
09.07.26
✎
14:21
|
(1) Это я понял
(2) Если что я пару символов поменял ;-) Вопросы : 1. Заголовки.Вставить("Authorization", OAuth_Токен); 401 - {"errors":[{"code":"UNAUTHORIZED","message":"OAuth credentials are not specified"}],"status":"ERROR"} Заголовки.Вставить("Authorization", "Bearer " + OAuth_Токен); 403- {"errors":[{"code":"FORBIDDEN","message":"OAuth token is invalid"}],"status":"ERROR"} И еще я не уверен СampaignId это бизнесИд или склад Методе если что bsl писал |
|||
|
5
zenik
09.07.26
✎
14:22
|
Если 1С работает в режиме совместимости меньше 8.3.6, то https не взлетает.
Делай через winHTTP = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); |
|||
|
6
bvb
09.07.26
✎
14:26
|
(5) там - "Не использовать"
База на сервере Scloud там Новый COMОбъект( - работать не будет Яндекс с озоном у меня работают прекрасно |
|||
|
7
PLUT
гуру
09.07.26
✎
14:30
|
(4) > Методе если что bsl писал
bsl плохо умеет в 1С |
|||
|
8
PLUT
гуру
09.07.26
✎
14:33
|
а что товарищ Postman говорит по поводу (0) ?
https://practicum.yandex.ru/blog/postman-dlya-testirovaniya-api/ или бумеранг для гуглохрома? https://chromewebstore.google.com/detail/boomerang-soap-rest-clien/eipdnjedkpcnlmmdfdkgfpljanehloah?hl=ru |
|||
|
9
Кир Пластелинин
09.07.26
✎
14:48
|
у яндекс.маркета авторизация по OAuth-токену является устаревшей. сейчас используется Api-Key, который передается в хедерах
|
|||
|
10
bvb
09.07.26
✎
17:10
|
(8) Этом в любом случае ключ в теге "Authorization" как его не назови
Скорее всего там либо ресурс запроса не тот либо КлиентИд неверный |
|||
|
11
eddy_n
09.07.26
✎
18:36
|
Я вот одного понять не могу. Как я без товарища Постмана столько лет обхожусь. Стыдно признаться, но я даже не видел его вживую.
|
|||
|
12
PLUT
гуру
09.07.26
✎
18:54
|
(11) срамота!
ИИчкоЗачем нужен Postman, если есть 1С? 1С умеет отправлять и принимать HTTP-запросы, но делать в ней первичную отладку интеграций крайне неудобно. Postman решает те задачи, для которых 1С просто не предназначена: * Быстрая проверка без кода. В Postman можно за 10 секунд настроить и отправить запрос к стороннему сервису (например, к банку или маркетплейсу). В 1С для этого пришлось бы писать код, создавать обработки и запускать отладчик. * Изоляция ошибок. Если интеграция в 1С сломалась, Postman помогает понять, где именно проблема. Вы повторяете запрос в Postman: если он работает, значит, ошибка в коде 1С. Если не работает — проблема на стороне стороннего сервиса. * Удобный просмотр данных. Postman автоматически форматирует сложные JSON- и XML-ответы, подсвечивает ошибки, показывает заголовки и скрытые параметры, которые в 1С увидеть сложнее. * Готовая документация. Внешние сервисы (Честный Знак, Wildberries, Ozon) часто дают готовую коллекцию запросов для Postman. Вы можете сразу протестировать их функции, не написав ни одной строчки кода в 1С.
|
|||
|
13
timurhv
09.07.26
✎
19:18
|
(8) Недавно у меня вылезло: плати бабки, лимит закончился) Офигели уже совсем + учетку завести + навязывание ИИ. Вместо простого инструмента теперь неведомая хрень.
https://habr.com/ru/articles/1025772/ |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |