|
|
Токен WB ответ HTTP запроса 401
zippygrill, Garykom, MWWRuza, bvb, nick86, Greeen, shuhard, reg0303, craxx, lubitelxml, Builder, iolxrfsf, paramedic, 2S, Crusher, eddy_n, GlRoznica, navigator, RVN, banco, ГдеСобакаЗарыта, integer, Timon1405, timurhv, Kelasiys, ptiz, maxab72, trooba, okmail, Олдж, Страждущий, Vstur, trad, ЕRPe, comp2006, Бычье сердце, mmg, Гипервизор, phabeZ, akronim, Kabz, zenon46, JohnGilbert, yurikmellon2, Fish, mortal, Климов Сергей, p-soft, Злопчинский, SleepyHead
| ☑ |
|
0
bvb
13.05.26
✎
14:38
|
Добрый день
Клиент 3 раз присылает мне сгенеренный токен статистики :
мHTTPЗапрос = Новый HTTPЗапрос(МетодAPI + СтрокаПараметры, мЗаголовки);
МетодAPI = "/api/v1/warehouse_remains";
СтрокаПараметры = "?groupByBrand=true&groupBySubject=true&groupBySa=true&groupByNm=true&groupByBarcode=true&groupBySize=true";
HTTP возвращает 401 - ошибку авторизации
Не могу понять толь они токен криво генерят, толи у меня параметры запроса неверны.
У других все нормально работает
|
|
|
1
timurhv
13.05.26
✎
14:47
|
А где тут токен?
|
|
|
2
timurhv
13.05.26
✎
14:48
|
У других - это кто?
Другие ваши клиенты и код из (0) отрабатывает?
Или соратники в интернете на форумах?
|
|
|
3
reg0303
13.05.26
✎
14:49
|
Токен так передается?
мЗаголовки.Вставить("Authorization", Токен);
|
|
|
4
Garykom
гуру
13.05.26
✎
15:13
|
мЗаголовки.Вставить("Authorized", Токен);
|
|
|
5
bvb
13.05.26
✎
15:20
|
Все у меня так и есть :
&НаСервере
Функция СформироватьЗапрос_WB_API (Организация, мАдресСервераСтат, Токен, МетодAPI, СтрокаПараметры) Экспорт
мHTTPСоединение = Новый HTTPСоединение(мАдресСервераСтат,,,,,, Новый ЗащищенноеСоединениеOpenSSL());
мЗаголовки = Новый Соответствие;
мЗаголовки.Вставить("Authorization", Токен);
мHTTPЗапрос = Новый HTTPЗапрос(МетодAPI + СтрокаПараметры, мЗаголовки);
мТаб = Новый Массив;
мРезультат = мHTTPСоединение.Получить(мHTTPЗапрос);
Если мРезультат.КодСостояния = 200 Тогда
мОтветJSON = мРезультат.ПолучитьТелоКакСтроку();
мЧтениеJSON = Новый ЧтениеJSON;
мЧтениеJSON.УстановитьСтроку(мОтветJSON);
мРезультат = ПрочитатьJSON(мЧтениеJSON, Истина);
мЧтениеJSON.Закрыть();
Возврат мРезультат;
Иначе
ВызватьИсключение("Ошибка запроса остатков " + Строка(Организация) + " : Ошибка "+МетодAPI+"; КодСостояния =" + мРезультат.КодСостояния);
Возврат Неопределено;
КонецЕсли;
Возврат мТаб;
КонецФункции
|
|
|
6
reg0303
13.05.26
✎
15:21
|
(4) https://dev.wildberries.ru/docs/openapi/api-information#tag/Avtorizaciya
"Чтобы авторизоваться в API, вам понадобится токен. Он действует 180 дней после создания. Добавляйте токен в заголовок запроса Authorization."
|
|
|
7
reg0303
13.05.26
✎
15:43
|
Что мРезультат.ПолучитьТелоКакСтроку() пишет при 401 ошибке?
|
|
|
8
timurhv
13.05.26
✎
15:47
|
Можно по документации в (6)
Сперва декодировать токен "Декодирование токена".
Далее попинговать методом "Проверка подключения к WB API". Как понимаю, могли дать токен от песочницы, а не рабочего контура (по 2 адреса в документации на разные категории).
|
|
|
9
bvb
13.05.26
✎
16:20
|
Беда в том ячто я в порталы доступа не имею и токены не генерю.
И не понимаю что от них требовать а они не понимают что мне нужно дать.
И как выходить из это ситуации хз
|
|
|
10
timurhv
13.05.26
✎
16:33
|
|
|
|
11
Garykom
гуру
13.05.26
✎
16:34
|
(6) да вроде Authorization с Bearer
https://dev.wildberries.ru/en/news/144
Только ху из ACCESS_TOKEN а ху SECRET_TOKEN?
|
|
|
12
paramedic
13.05.26
✎
17:08
|
А токен-то вообще подходит под тот раздел, куда запрос посылаете?
|
|
|
13
bvb
13.05.26
✎
17:41
|
12 Хороший вопрос
А как это проверить ?
Меня смущает &groupByBarcode=true
Я не уверен что они используют баркоды (продукция без размера)
Но с другой стороны код о шибки соответствует ошибке авторизации
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший