1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-15 20:13:31 +02:00

DB: Информация об аккаунте

This commit is contained in:
Anton
2024-05-25 18:04:00 +03:00
parent c7cba2a87a
commit 92e49527ef
4 changed files with 150 additions and 11 deletions

View File

@@ -33,7 +33,7 @@
#Область ПрограммныйИнтерфейс
#Область Авторизация
#Область АккаунтИАвторизация
// Получить ссылку авторизации
// Генерирует ссылку авторизации для перехода в браузере
@@ -116,6 +116,50 @@
КонецФункции
// Получить информацию об аккаунте
// Получает информацию об аккаунте
//
// Параметры:
// Токен - Строка - Токен - token
// Аккаунт - Строка - ID аккаунта. Текущий аккаунт токена, если не заполнено - account
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ПолучитьИнформациюОбАккаунте(Знач Токен, Знач Аккаунт = "") Экспорт
Если ЗначениеЗаполнено(Аккаунт) Тогда
Результат = ПолучитьАккаунт(Токен, Аккаунт);
Иначе
Результат = ПолучитьСвойАккаунт(Токен);
КонецЕсли;
Возврат Результат;
КонецФункции
// Получить данные использования пространства
// Получает информацию о количестве использованного дискового пространства
//
// Параметры:
// Токен - Строка - Токен - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ПолучитьДанныеИспользованияПространства(Знач Токен) Экспорт
URL = "https://api.dropboxapi.com/2/users/get_space_usage";
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.PostBinary(URL
, ПолучитьДвоичныеДанныеИзСтроки("null")
, Заголовки
,
, "text/plain; charset=dropbox-cors-hack");
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСФайламиИКаталогами
@@ -191,7 +235,7 @@
// Путь - Строка - Путь к объекту - path
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
// ДвоичныеДанные - превью документа
Функция ПолучитьПревью(Знач Токен, Знач Путь) Экспорт
URL = "https://content.dropboxapi.com/2/files/get_preview";
@@ -384,7 +428,7 @@
// Путь - Строка - Путь или ID файла - path
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
// ДвоичныеДанные - двоичные данные файла
Функция СкачатьФайл(Знач Токен, Знач Путь) Экспорт
URL = "https://content.dropboxapi.com/2/files/download";
@@ -402,7 +446,7 @@
// Путь - Строка - Путь или ID каталога - path
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
// ДвоичныеДанные - двоичные данные zip архива с содержимым каталога
Функция СкачатьПапку(Знач Токен, Знач Путь) Экспорт
URL = "https://content.dropboxapi.com/2/files/download_zip";
@@ -480,7 +524,7 @@
URL = "https://api.dropboxapi.com/2/files/tags/get";
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path", Пути, "Массив", Параметры);
OPI_Инструменты.ДобавитьПоле("paths", Пути, "Массив", Параметры);
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
@@ -684,4 +728,34 @@
КонецФункции
Функция ПолучитьАккаунт(Знач Токен, Знач Аккаунт)
URL = "https://api.dropboxapi.com/2/users/get_account";
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("account_id", Аккаунт, "Строка", Параметры);
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
Функция ПолучитьСвойАккаунт(Знач Токен)
URL = "https://api.dropboxapi.com/2/users/get_current_account";
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.PostBinary(URL
, ПолучитьДвоичныеДанныеИзСтроки("null")
, Заголовки
,
, "text/plain; charset=dropbox-cors-hack");
Возврат Ответ;
КонецФункции
#КонецОбласти

View File

@@ -85,9 +85,13 @@
КонецФункции
Функция PostBinary(Знач URL, Знач Тело, Знач ДопЗаголовки, Знач ПолныйОтвет = Ложь) Экспорт
Функция PostBinary(Знач URL
, Знач Тело
, Знач ДопЗаголовки
, Знач ПолныйОтвет = Ложь
, Знач ТипДанных = "application/octet-stream") Экспорт
Возврат ВыполнитьЗапросСДвоичнымиДанными(URL, "POST", Тело, ДопЗаголовки, ПолныйОтвет);
Возврат ВыполнитьЗапросСДвоичнымиДанными(URL, "POST", Тело, ДопЗаголовки, ПолныйОтвет, ТипДанных);
КонецФункции
@@ -540,13 +544,18 @@
КонецФункции
Функция ВыполнитьЗапросСДвоичнымиДанными(Знач URL, Знач Вид, Знач Данные, Знач ДопЗаголовки, Знач ПолныйОтвет)
Функция ВыполнитьЗапросСДвоичнымиДанными(Знач URL
, Знач Вид
, Знач Данные
, Знач ДопЗаголовки
, Знач ПолныйОтвет
, Знач ТипДанных)
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, "application/octet-stream");
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
Соединение = СоздатьСоединение(Сервер);
Запрос.УстановитьТелоИзДвоичныхДанных(Данные);
@@ -558,7 +567,8 @@
, Вид
, Данные
, ДопЗаголовки
, ПолныйОтвет);
, ПолныйОтвет
, ТипДанных);
Иначе
ОбработатьОтвет(Ответ, ПолныйОтвет);
КонецЕсли;

View File

@@ -211,6 +211,7 @@
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайлПоURL" , "Загрузить файл по URL" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьАккаунт" , "Получить данные аккаунта" , ДропБокс);
Возврат ТаблицаТестов;

View File

@@ -3205,6 +3205,16 @@
КонецПроцедуры
Процедура ДропБокс_ПолучитьАккаунт() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыТеста);
Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -3564,6 +3574,14 @@
КонецПроцедуры
Процедура Проверка_ДропбоксАккаунт(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["account_id"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ДропбоксПространство(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["used"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@@ -5034,7 +5052,7 @@
ЕстьТег = Ложь;
Для Каждого Тег Из Результат["paths_to_tags"][0]["tags"] Цикл
Если Тег["tag_text"] = "Важное" Тогда
Если Тег["tag_text"] = "важное" Тогда
ЕстьТег = Истина;
КонецЕсли;
КонецЦикла;
@@ -5081,6 +5099,42 @@
КонецПроцедуры
Процедура Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыФункции)
Токен = ПараметрыФункции["Dropbox_Token"];
Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте");
Проверка_ДропбоксАккаунт(Результат);
Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен, Результат["account_id"]);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте (сторонний)");
Проверка_ДропбоксАккаунт(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыФункции)
Токен = ПараметрыФункции["Dropbox_Token"];
Результат = OPI_Dropbox.ПолучитьДанныеИспользованияПространства(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеИспользованияПространства");
Проверка_ДропбоксПространство(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти