|
как получить токены из сайта и отправить | ☑ | ||
---|---|---|---|---|
0
ra_
25.04.19
✎
13:39
|
Добрый день форумчане, помогите пожалуйста, при интеграции с сайтом разработчик дал мне АПИ где в первую очередь нужно работать с токенами т.е авторизоваться нужно. Как можно это реализовать ?
Я таким образом отправлял данные на сайт: мЗаказ = Заказ.ПолучитьОбъект(); мДата = новый Структура; мДата.Вставить("doc", мЗаказ.Ответственный.Наименование); мТЧ = Новый Массив; для каждого Анализы из мЗаказ.МедицинскиеУслуги цикл //Данные из табличной части сТЧ = Новый Структура; сТЧ.Вставить("analys_code",Анализы.Номенклатура.Артикул); мТЧ.Добавить(сТЧ); КонецЦикла; мДата.Вставить("analyses", мТЧ); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, мДата); СтрокаДляОтвета = ЗаписьJSON.Закрыть(); Заголовки = Новый Соответствие; Заголовки.Вставить("Content-type", "application/json" ); Соединение = Новый HTTPСоединение("Адрес сайта",,,,,,); Запрос = Новый HTTPЗапрос("/todo",Заголовки); Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8); Соединение.ОтправитьДляОбработки(Запрос); Результат = Соединение.Получить(Запрос); КодСостояния = Результат.КодСостояния; Реквизит1 = Результат.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8); ТекстJSON = СтрокаДляОтвета; |
|||
1
Nuobu
25.04.19
✎
13:49
|
Пусть даст тебе пример кода.
токен - это часть строки в заголовке. Ты, при авторизации, его считываешь, записываешь в переменную "сессия" и "токен". А потом, когда делаешь запрос на отправку файла - используешь их. То есть работаешь в два этапа - Соединение = Новый HTTPСоединение("Адрес сайта",,,,,,); // тут явки, пароли. Запрос = Новый HTTPЗапрос("/login",Заголовки); // тут логин, пароль. /todo - будет не здесь, а дальше Ответ = Соединение.ОтправитьДляОбработки(Запрос); Токен = Ответ.Заголовки.Токен; // я точно не помню, как правильно их получать, Сессия = Ответ.Заголовки.Сессия; // но общий смысл, думаю, понятен. Заголовки = Новый Соответствие; Заголовки.Вставить("Токен", токен); Заголовки.Вставить("Сессия", Сессия); Запрос = Новый HTTPЗапрос("/todo",Заголовки); Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8); Соединение.ОтправитьДляОбработки(Запрос); Запрос = Новый HTTPЗапрос("/todo",Заголовки); Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8); Соединение.ОтправитьДляОбработки(Запрос); // я два раза отправил запрос, чтобы ты понимал, что сессию и токен нужно получать один раз - при логине. |
|||
2
1Сергей
25.04.19
✎
13:49
|
Майнишь на 1С?
|
|||
3
ra_
25.04.19
✎
13:51
|
(1) Принимает:
{ “login”: <string>, “password”: <string> } Возвращает: { “success”: <true | false>, “message”: <string:Status message>, “token”: <string:Token>, //Отсутствует если “success” false “code”: <int:Error code> //Отсутствует если “success” true } |
|||
4
ra_
25.04.19
✎
13:52
|
(1) не могли бы примерно написать как это делать в моем коде пожалуйста
|
|||
5
Nuobu
25.04.19
✎
13:54
|
(4) Нет, не могу.
т.к. я апишку не вижу. |
|||
6
Nuobu
25.04.19
✎
13:55
|
(4) Попробуй в почту стукнуть.
[email protected] |
|||
7
ra_
25.04.19
✎
14:35
|
(6) АПИ скинуть?
|
|||
8
Nuobu
25.04.19
✎
15:06
|
(7) агась.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |