Вход | Регистрация
 

как получить токены из сайта и отправить

как получить токены из сайта и отправить
Я
   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 = СтрокаДляОтвета;
 
 
   Nuobu
 
1 - 25.04.19 - 13:49
Пусть даст тебе пример кода.

токен - это часть строки в заголовке.
Ты, при авторизации, его считываешь, записываешь в переменную "сессия" и "токен".
А потом, когда делаешь запрос на отправку файла - используешь их.

То есть работаешь в два этапа - 

  Соединение = Новый HTTPСоединение("Адрес сайта",,,,,,);// тут явки, пароли.

 Запрос = Новый HTTPЗапрос("/login",Заголовки);// тут логин, пароль. /todo - будет не здесь, а дальше

Ответ = Соединение.ОтправитьДляОбработки(Запрос);

Токен = Ответ.Заголовки.Токен;// я точно не помню, как правильно их получать,

Сессия = Ответ.Заголовки.Сессия;// но общий смысл, думаю, понятен.


Заголовки = Новый Соответствие; 
Заголовки.Вставить("Токен", токен);
Заголовки.Вставить("Сессия", Сессия);

    Запрос = Новый HTTPЗапрос("/todo",Заголовки); 
    Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);     
    Соединение.ОтправитьДляОбработки(Запрос);   

    Запрос = Новый HTTPЗапрос("/todo",Заголовки); 
    Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);     
    Соединение.ОтправитьДляОбработки(Запрос);   

// я два раза отправил запрос, чтобы ты понимал, что сессию и токен нужно получать один раз - при логине.
   1Сергей
 
2 - 25.04.19 - 13:49
Майнишь на 1С?
   ra_
 
3 - 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

}
   ra_
 
4 - 25.04.19 - 13:52
(1) не могли бы примерно написать как это делать в моем коде пожалуйста
   Nuobu
 
5 - 25.04.19 - 13:54
(4) Нет, не могу.
т.к. я апишку не вижу.
   Nuobu
 
6 - 25.04.19 - 13:55
(4) Попробуй в почту стукнуть.
_bess_@bk.ru
   ra_
 
7 - 25.04.19 - 14:35
(6) АПИ скинуть?
   Nuobu
 
8 - 25.04.19 - 15:06
(7) агась.

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.