перем СтруктКоннект;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ВыполнитьСоединение();
КонецПроцедуры
Процедура ВыполнитьСоединение()
СтруктураAPI = ПутьAPI();
Соединение = Новый HTTPСоединение(СтруктураAPI.Сервер, СтруктураAPI.Порт, , , , , Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;
//Заголовки.Вставить("Content-Type", "x-www-form-urlencoded");
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Запрос = Новый HTTPЗапрос(СтруктураAPI.Путь, Заголовки);
ПараметрыНТТРЗавпроса = ПолучитьПараметрыАвторизации();
Запрос.УстановитьТелоИзСтроки(ПараметрыНТТРЗавпроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.Использовать);
Попытка
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
Исключение
// исключение здесь говорит о том, что запрос не дошел до HTTP-Сервера
Сообщить("Произошла сетевая ошибка!");
ВызватьИсключение;
КонецПопытки;
ОтветСтрокой = Ответ.ПолучитьТелоКакСтроку();
Сообщить(ОтветСтрокой);
КонецПроцедуры
Функция ПутьAPI()
Структура = Новый Структура;
Структура.Вставить("Сервер", СтруктКоннект.Сервер);
Структура.Вставить("Порт", 443);
Структура.Вставить("Путь", "/v2/oauth/token?parameters");
//Структура.Вставить("ПолныйПуть", "https://"+Структура.Сервер+Структура.Путь);
Возврат Структура;
КонецФункции
Функция ДобавитьПараметрыНТТРЗапроса(СтрПараметры, ИмяПараметра, ЗначениеПараметра)
СтрПараметры = СтрПараметры + ?(ПустаяСтрока(СтрПараметры), "","&") + ИмяПараметра + "=" + ЗначениеПараметра;
Возврат СтрПараметры;
КонецФункции
Функция ПолучитьПараметрыАвторизации()
ПараметрыНТТРЗавпроса = "";
ДобавитьПараметрыНТТРЗапроса(ПараметрыНТТРЗавпроса, "grant_type", "client_credentials");
ДобавитьПараметрыНТТРЗапроса(ПараметрыНТТРЗавпроса, "client_id", СтруктКоннект.ИД);
ДобавитьПараметрыНТТРЗапроса(ПараметрыНТТРЗавпроса, "client_secret",СтруктКоннект.Пароль);
Возврат ПараметрыНТТРЗавпроса;
КонецФункции
СтруктКоннект=Новый Структура("Сервер,ИД,Пароль");
СтруктКоннект.Сервер="api.edu.cdek.ru";
СтруктКоннект.ИД="EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI";
СтруктКоннект.Пароль="PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG";
|