|
API Яндекс маркет : Запрос остатков 404 FORBIDDEN OAuth token is invalid | ☑ | ||
|---|---|---|---|---|
|
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, который передается в хедерах
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |