1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-12 11:15:07 +02:00
This commit is contained in:
Anton 2024-03-17 12:05:20 +03:00
commit aad89fe415
3 changed files with 187 additions and 35 deletions

View File

@ -129,6 +129,27 @@
Возврат УправлениеФайлом(Токен, Файл, Описание);
КонецФункции
// Создать папку.
//
// Параметры:
// Токен - Строка - Токен
// Имя - Строка - Имя папки
// Родитель - Строка - Родитель
//
// Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google
Функция СоздатьПапку(Знач Токен, Знач Имя, Знач Родитель = "") Экспорт
Описание = Новый Соответствие;
Описание.Вставить("MIME" , "application/vnd.google-apps.folder");
Описание.Вставить("Имя" , Имя);
Описание.Вставить("Описание", "");
Описание.Вставить("Родитель", ?(ЗначениеЗаполнено(Родитель), Родитель, "root"));
Возврат УправлениеФайлом(Токен, , Описание);
КонецФункции
// Скачать файл.
//
// Параметры:
@ -151,24 +172,6 @@
КонецФункции
// Удалить объект.
//
// Параметры:
// Токен - Строка - Токен
// Идентификатор - Строка - Идентификатор объекта для удаления
//
// Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google
Функция УдалитьОбъект(Знач Токен, Знач Идентификатор) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор;
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Скоприровать объект.
//
// Параметры:
@ -227,6 +230,24 @@
КонецФункции
// Удалить объект.
//
// Параметры:
// Токен - Строка - Токен
// Идентификатор - Строка - Идентификатор объекта для удаления
//
// Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google
Функция УдалитьОбъект(Знач Токен, Знач Идентификатор) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор;
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить описание файла.
//
// Возвращаемое значение:
@ -237,7 +258,7 @@
Описание.Вставить("MIME" , "image/jpeg");
Описание.Вставить("Имя" , "Новый файл.jpg");
Описание.Вставить("Описание" , "Это новый файл");
Описание.Вставить("Родитель" , Неопределено);
Описание.Вставить("Родитель" , "root");
Возврат Описание;
@ -270,6 +291,71 @@
КонецФункции
// Получить комментарий.
//
// Параметры:
// Токен - Строка - Токен
// ИДОбъекта - Строка - Идентификатор файла или каталога размещения комментария
// ИДКомментария - Строка - Идентификатор комментария
//
// Возвращаемое значение:
// HTTPОтвет - Получить комментарий
Функция ПолучитьКомментарий(Знач Токен, Знач ИДОбъекта, Знач ИДКомментария) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + ИДОбъекта + "/comments/" + ИДКомментария;
Параметры = Новый Структура;
Параметры.Вставить("fields", "*");
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Получить список комментариев.
//
// Параметры:
// Токен - Строка - Токен
// ИДОбъекта - Строка - Идентификатор объекта
//
// Возвращаемое значение:
// HTTPОтвет - Получить список комментариев
Функция ПолучитьСписокКомментариев(Знач Токен, Знач ИДОбъекта) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + ИДОбъекта + "/comments";
Параметры = Новый Структура;
Параметры.Вставить("fields", "*");
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Удалить комментарий.
//
// Параметры:
// Токен - Строка - Токен
// ИДОбъекта - Строка - Идентификатор файла или каталога размещения комментария
// ИДКомментария - Строка - Идентификатор комментария
//
// Возвращаемое значение:
// HTTPОтвет - Удалить комментарий
Функция УдалитьКомментарий(Знач Токен, Знач ИДОбъекта, Знач ИДКомментария) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + ИДОбъекта + "/comments/" + ИДКомментария;
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
@ -361,9 +447,10 @@
КонецПроцедуры
Функция УправлениеФайлом(Знач Токен, Знач Файл, Знач Описание = "", Знач Идентификатор = "")
Функция УправлениеФайлом(Знач Токен, Знач Файл = "", Знач Описание = "", Знач Идентификатор = "")
MimeType = "mimeType";
СоответствиеФайла = Новый Соответствие;
MimeType = "mimeType";
Если ЗначениеЗаполнено(Идентификатор) Тогда
MIME = ПолучитьИнформациюОбОбъекте(Токен, Идентификатор)[MimeType];
@ -378,12 +465,15 @@
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart";
Если ТипЗнч(Файл) <> Тип("ДвоичныеДанные") Тогда
Файл = Новый ДвоичныеДанные(Файл);
Если ЗначениеЗаполнено(Файл) Тогда
Если ТипЗнч(Файл) <> Тип("ДвоичныеДанные") Тогда
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
СоответствиеФайла.Вставить(Файл, MIME);
КонецЕсли;
СоответствиеФайла = Новый Соответствие;
СоответствиеФайла.Вставить(Файл, MIME);
СформироватьПараметрыЗагрузкиФайла(Описание);
Описание = OPI_Инструменты.JSONСтрокой(Описание);

View File

@ -2347,23 +2347,84 @@
КонецПроцедуры
Процедура ГД_СоздатьУдалитьКомментарий() Экспорт
Id_ = "id";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
Kind = "kind";
Content = "content";
Id_ = "id";
Comments = "comments";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
Описание.Вставить("Родитель", Каталог);
Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
Идентификатор = Результат[Id_];
Комментарий = "Новый комментарий";
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
Комментарий = "Новый комментарий";
МассивРезультатов = Новый Массив;
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");
ИДКомментария = Результат[Id_];
МассивРезультатов.Добавить(Результат);
Результат = OPI_GoogleDrive.ПолучитьКомментарий(Токен, Идентификатор, ИДКомментария);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарий");
МассивРезультатов.Добавить(Результат);
Результат = OPI_GoogleDrive.ПолучитьСписокКомментариев(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариев");
Комментарии = Результат[Comments];
ОбъектКомментарий = Комментарии[Комментарии.ВГраница()];
МассивРезультатов.Добавить(ОбъектКомментарий);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment");
КонецЦикла;
Результат = OPI_GoogleDrive.УдалитьКомментарий(Токен, Идентификатор, ИДКомментария);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор);
КонецПроцедуры
Процедура ГД_СоздатьКаталог() Экспорт
Name = "name";
Имя = "Тестовая папка";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя));
МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя, Каталог));
Для Каждого Результат Из МассивРезультатов Цикл
ИДКаталога = Результат["id"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Имя);
OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога);
КонецЦикла;
КонецПроцедуры
#КонецОбласти

View File

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