|
1С & Biostar | ☑ | ||
---|---|---|---|---|
0
Yorik
13.03.22
✎
16:17
|
Доброго времени суток доргоие форумане. Клиентом была поставлена задача получать список сотрудников которые пробили карту на турникете.
Программное обеспечение на турникете Suprema Biostar 2.0. Код запроса такой: СерверПриемник ="175.20.20.18"; РесурсНаСервере ="/v2/users?limit=1000&offset=1"; Попытка НТТР = Новый HTTPСоединение(СерверПриемник,8795,,,,,); Исключение Сообщить("HTTPСоединение Неудачная попытка соединения: " + ОписаниеОшибки()); КонецПопытки; ИмяФайлаОтправки1 = КаталогВременныхФайлов()+"EHF.json"; ЗаписьJSON =Новый ЗаписьJSON; ЗаписьJSON.ОткрытьФайл(ИмяФайлаОтправки1); ЗаписьJSON.ЗаписатьНачалоОбъекта(); ДобавитьВЗаписьВJSON(ЗаписьJSON,"limit", 1000) ; ДобавитьВЗаписьВJSON(ЗаписьJSON,"offset", 1) ; ЗаписьJSON.ЗаписатьКонецОбъекта(); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("content-type", "application/json"); Попытка HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере,ЗаголовокHTTP); HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки1); ИмяФайлаОтвет = КаталогВременныхФайлов()+"333.json"; Результат = НТТР.Получить(HTTPЗапрос,ИмяФайлаОтвет); ОтветВВидеСтроки = Результат.ПолучитьТелоКакСтроку("UTF-8"); исключение Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); КонецПопытки; |
|||
1
Yorik
13.03.22
✎
16:18
|
Результат ответа такой
{"message":"Login required.","status_code":"LOGIN_REQUIRED"} |
|||
2
Yorik
13.03.22
✎
16:20
|
Подскажите мне пожалуйста может у кого то был опыт в этой области ,что не так я делаю?
|
|||
3
NorthWind
13.03.22
✎
16:30
|
(1) ну вроде почти шо русским языком пишет - надо залогиниться. Логин-пароль не хотите передать при соединении?
|
|||
4
NorthWind
13.03.22
✎
16:38
|
> НТТР = Новый HTTPСоединение(СерверПриемник,8795,,,,,);
вот там где кучка запятых - там еще параметры разные интересные есть. Среди них логин и пароль. Синтакс-помощник помогает. |
|||
5
Yorik
13.03.22
✎
16:42
|
Пробовал, при логировании в биостар требуется name, user_id,password где их прописывать так и не понял?
|
|||
6
MWWRuza
гуру
13.03.22
✎
16:52
|
(5) Эээээ.... Я сам "клюшечник", в восьмерке редко что пишу... Но, что-то вспоминается - Вы когда ставите запятую в строке НТТР = Новый HTTPСоединение(СерверПриемник,8795, после порта, он Вам разве не выдает подсказку, какой следующий параметр должен быть? Вот, туда, где будет соответствующая подсказка, и прописывайте. Лучше, не в тексте программы, а подтягивать из соответствующих полей формы.
|
|||
7
MWWRuza
гуру
13.03.22
✎
16:55
|
+(6) Кстати, именно такая "контекстная подсказка", ИМХО очень облегчает написание кода в снеговике по сравнению с клюшками(если не использовать доп. инструменты, но, это все немного не то...).
|
|||
8
Yorik
13.03.22
✎
17:08
|
там 2 параметра на авторизацию, а мне нужно 3
|
|||
9
Ник второй
13.03.22
✎
17:22
|
(8) 2 параметра должно хватить, пробуйте
|
|||
10
MWWRuza
гуру
13.03.22
✎
17:23
|
(5) name, user_id,password где их прописывать так и не понял?
Ну, имя и ЮзерИд скорее всего одно и то-же. |
|||
11
NorthWind
13.03.22
✎
17:37
|
(5) ну и если прописать рабочие name и password для соединения - что происходит?
(10) да не факт... Может, этот юзер айди каким-то образом надо в сами запросы передавать, уже после авторизации. Тут нужно доку по этому API смотреть. |
|||
12
NorthWind
13.03.22
✎
17:40
|
Оопачки... ТС, вот это не читал - https://kb.supremainc.com/knowledge/doku.php?id=en:biostar_2_api_quickstart_guide ?
|
|||
13
Ivan_495
13.03.22
✎
18:09
|
после user фигурные скобки и вперед https://support.supremainc.com/en/support/solutions/articles/24000028664--biostar-2-api-login-fail-with-login-api-not-found-error-
|
|||
14
Yorik
13.03.22
✎
18:10
|
(10) не проходят оба варианта
|
|||
15
Yorik
13.03.22
✎
20:24
|
Сделал вот так
СерверПриемник ="175.20.20.18"; РесурсНаСервере ="/v2/login"; Попытка НТТР = Новый HTTPСоединение(СерверПриемник,8795,,,,,); Исключение Сообщить("HTTPСоединение Неудачная попытка соединения: " + ОписаниеОшибки()); КонецПопытки; ИмяФайлаОтправки11 = КаталогВременныхФайлов()+"EHF1.json"; ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("content-type", "application/json"); ЗаписьJSON =Новый ЗаписьJSON; ЗаписьJSON.ОткрытьФайл(ИмяФайлаОтправки11); ЗаписьJSON.ЗаписатьНачалоОбъекта(); ДобавитьВЗаписьВJSON(ЗаписьJSON,"name", "biosrv") ; ДобавитьВЗаписьВJSON(ЗаписьJSON,"user_id", "admin") ; ДобавитьВЗаписьВJSON(ЗаписьJSON,"password", "lvfree22") ; ЗаписьJSON.ЗаписатьКонецОбъекта(); ЗаписьJSON.Закрыть(); Попытка HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере,ЗаголовокHTTP); HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки11); ИмяФайлаОтвет = КаталогВременныхФайлов()+"3331.json"; Результат = НТТР.ОтправитьДляОбработки(HTTPЗапрос,ИмяФайлаОтвет); ОтветВВидеСтроки = Результат.ПолучитьТелоКакСтроку("UTF-8"); исключение Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); КонецПопытки; СерверПриемник ="175.20.20.18"; РесурсНаСервере ="/v2/users?limit=1000&offset=1"; Попытка НТТР = Новый HTTPСоединение(СерверПриемник,8795,,,,,); Исключение Сообщить("HTTPСоединение Неудачная попытка соединения: " + ОписаниеОшибки()); КонецПопытки; ИмяФайлаОтправки1 = КаталогВременныхФайлов()+"EHF.json"; ЗаписьJSON =Новый ЗаписьJSON; ЗаписьJSON.ОткрытьФайл(ИмяФайлаОтправки1); ЗаписьJSON.ЗаписатьНачалоОбъекта(); ДобавитьВЗаписьВJSON(ЗаписьJSON,"limit", 1000) ; ДобавитьВЗаписьВJSON(ЗаписьJSON,"offset", 1) ; ЗаписьJSON.ЗаписатьКонецОбъекта(); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("content-type", "application/json"); Попытка HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере,ЗаголовокHTTP); HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки1); ИмяФайлаОтвет = КаталогВременныхФайлов()+"333.json"; Результат = НТТР.Получить(HTTPЗапрос,ИмяФайлаОтвет); ОтветВВидеСтроки = Результат.ПолучитьТелоКакСтроку("UTF-8"); исключение Сообщить(ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); КонецПопытки; |
|||
16
arsik
гуру
13.03.22
✎
21:41
|
(15) Не стесняйся. Поставь фиддлер и посмотри запросы которые шлет их консольная утилита.
|
|||
17
Yorik
13.03.22
✎
22:26
|
Все, проблема решена, использовал куки для передачи параметров авторизации
|
|||
18
Yorik
13.03.22
✎
22:27
|
всем спасибо
|
|||
19
Yorik
13.03.22
✎
22:28
|
вот хорошая статья на эту тему:
https://forum.infostart.ru/forum9/topic199489/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |