You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-29 22:27:42 +02:00
Проброс авторизации в Yandex Disk
This commit is contained in:
@@ -41,6 +41,59 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область Авторизация
|
||||
|
||||
// Получить код подтверждения
|
||||
// Получает код подтверждения и адрес страницы, на которой его необходимо ввести
|
||||
//
|
||||
// Параметры:
|
||||
// ClientId - Строка - Client id - id
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
|
||||
Функция ПолучитьКодПодтверждения(Знач ClientId) Экспорт
|
||||
|
||||
Результат = OPI_YandexID.ПолучитьКодПодтверждения(ClientId);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Преобразовать код в токен
|
||||
// Преобразовывает код в токен после ввода кода при выполнении ПолучитьКодПодтверждения
|
||||
//
|
||||
// Параметры:
|
||||
// ClientId - Строка - Client id - id
|
||||
// ClientSecret - Строка - Client secret - secret
|
||||
// КодУстройства - Строка - device_code из ПолучитьКодПодтверждения - device
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
|
||||
Функция ПреобразоватьКодВТокен(Знач ClientId, Знач ClientSecret, Знач КодУстройства) Экспорт
|
||||
|
||||
Результат = OPI_YandexID.ПреобразоватьКодВТокен(ClientId, ClientSecret, КодУстройства);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновить токен
|
||||
// Обновляет токен по Refresh token
|
||||
//
|
||||
// Параметры:
|
||||
// ClientId - Строка - Client id - id
|
||||
// ClientSecret - Строка - Client secret - secret
|
||||
// RefreshToken - Строка - Refresh token - refresh
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
|
||||
Функция ОбновитьТокен(Знач ClientId, Знач ClientSecret, Знач RefreshToken) Экспорт
|
||||
|
||||
Результат = OPI_YandexID.ОбновитьТокен(ClientId, ClientSecret, RefreshToken);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСФайламиИПапками
|
||||
|
||||
// Получить информацию о диске
|
||||
|
||||
@@ -305,6 +305,7 @@
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокСвойств" , "Получить список свойств" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокЗаказов" , "Получить список заказов" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ЗагрузитьВидео" , "Загрузить видео" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_Авторизация" , "Авторизация" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьПапку" , "Создать папку" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект", "Загрузить по URL и получить" , ЯДиск);
|
||||
@@ -2581,6 +2582,54 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_YandexDisk_ПолучитьКодПодтверждения(Знач Результат, Знач Вариант)
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
ОжидаетЧто(Результат["verification_url"]).Заполнено();
|
||||
ОжидаетЧто(Результат["device_code"]).Заполнено();
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_YandexDisk_ПреобразоватьКодВТокен(Знач Результат, Знач Вариант, Параметры = "")
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
Если Результат.Получить("access_token") <> Неопределено Тогда
|
||||
|
||||
Токен = Результат["access_token"];
|
||||
ЗаписатьПараметр("YandexDisk_Token", Токен);
|
||||
Параметры.Вставить("YandexDisk_Token", Токен);
|
||||
|
||||
Токен = Результат["refresh_token"];
|
||||
ЗаписатьПараметр("YandexDisk_RefreshToken", Токен);
|
||||
Параметры.Вставить("YandexDisk_RefreshToken", Токен);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_YandexDisk_ОбновитьТокен(Знач Результат, Знач Вариант, Параметры = "")
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
ОжидаетЧто(Результат["access_token"]).Заполнено();
|
||||
ОжидаетЧто(Результат["refresh_token"]).Заполнено();
|
||||
|
||||
Токен = Результат["access_token"];
|
||||
ЗаписатьПараметр("YandexDisk_Token", Токен);
|
||||
Параметры.Вставить("YandexDisk_Token", Токен);
|
||||
|
||||
Токен = Результат["refresh_token"];
|
||||
ЗаписатьПараметр("YandexDisk_RefreshToken", Токен);
|
||||
Параметры.Вставить("YandexDisk_RefreshToken", Токен);
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_Viber_УстановитьWebhook(Знач Результат, Знач Вариант)
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
@@ -656,6 +656,20 @@
|
||||
|
||||
#Область YandexDisk
|
||||
|
||||
Процедура ЯДиск_Авторизация() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_ClientID", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_ClientSecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YandexDisk_RefreshToken", ПараметрыТеста);
|
||||
|
||||
YandexDisk_ПолучитьКодПодтверждения(ПараметрыТеста);
|
||||
YandexDisk_ПреобразоватьКодВТокен(ПараметрыТеста);
|
||||
YandexDisk_ОбновитьТокен(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЯДиск_ПолучитьИнформациюОДиске() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
@@ -4949,6 +4963,46 @@
|
||||
|
||||
#Область YandexDisk
|
||||
|
||||
Процедура YandexDisk_ПолучитьКодПодтверждения(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["YandexDisk_ClientID"];
|
||||
|
||||
Результат = OPI_YandexDisk.ПолучитьКодПодтверждения(ClientID);
|
||||
|
||||
// END
|
||||
|
||||
Обработать(Результат, "YandexDisk", "ПолучитьКодПодтверждения");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexDisk_ПреобразоватьКодВТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["YandexDisk_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["YandexDisk_ClientSecret"];
|
||||
КодУстройства = "12345678";
|
||||
|
||||
Результат = OPI_YandexDisk.ПреобразоватьКодВТокен(ClientID, ClientSecret, КодУстройства);
|
||||
|
||||
// END
|
||||
|
||||
Обработать(Результат, "YandexDisk", "ПреобразоватьКодВТокен", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexDisk_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["YandexDisk_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["YandexDisk_ClientSecret"];
|
||||
RefreshToken = ПараметрыФункции["YandexDisk_RefreshToken"];
|
||||
|
||||
Результат = OPI_YandexDisk.ОбновитьТокен(ClientID, ClientSecret, RefreshToken);
|
||||
|
||||
// END
|
||||
|
||||
Обработать(Результат, "YandexDisk", "ОбновитьТокен", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexDisk_ПолучитьИнформациюОДиске(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["YandexDisk_Token"];
|
||||
|
||||
Reference in New Issue
Block a user