From 61a4551fa96eb6a9ef1b05112f70fbfb88eea43c Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Thu, 30 May 2024 09:46:35 +0300 Subject: [PATCH] =?UTF-8?q?DB:=20=D0=9E=D1=82=D0=BC=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OPI/src/CommonModules/OPI_Dropbox/Module.bsl | 29 +++++++++ OPI/src/CommonModules/OPI_Тесты/Module.bsl | 64 +++++++++++++++++--- 2 files changed, 84 insertions(+), 9 deletions(-) diff --git a/OPI/src/CommonModules/OPI_Dropbox/Module.bsl b/OPI/src/CommonModules/OPI_Dropbox/Module.bsl index 2634313587..5ee4262a40 100644 --- a/OPI/src/CommonModules/OPI_Dropbox/Module.bsl +++ b/OPI/src/CommonModules/OPI_Dropbox/Module.bsl @@ -735,6 +735,35 @@ КонецФункции +// Отменить публикацию файла +// Запрещает доступ к файлу для внешних пользователей +// +// Параметры: +// Токен - Строка - Токен - token +// IDФайла - Строка - ID файла, к которому предоставляется доступ - fileid +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ОтменитьПубликациюФайла(Знач Токен, Знач IDФайла) Экспорт + + OPI_ПреобразованиеТипов.ПолучитьСтроку(IDФайла); + + Если Не СтрНачинаетсяС(IDФайла, "id:") Тогда + IDФайла = "id:" + IDФайла; + КонецЕсли; + + URL = "https://api.dropboxapi.com/2/sharing/unshare_file"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("file", IDФайла, "Строка", Параметры); + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #КонецОбласти diff --git a/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/OPI/src/CommonModules/OPI_Тесты/Module.bsl index 29bc825ad1..bf9af7fa38 100644 --- a/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -3138,10 +3138,15 @@ ПараметрыТеста = Новый Структура; OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appkey" , ПараметрыТеста); OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appsecret", ПараметрыТеста); - OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Code", ПараметрыТеста); - OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Refresh", ПараметрыТеста); - Dropbox_ПолучитьСсылкуАвторизации(ПараметрыТеста); + Dropbox_ПолучитьСсылкуАвторизации(ПараметрыТеста); + + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Code", ПараметрыТеста); + + Dropbox_ПолучитьТокен(ПараметрыТеста); + + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Refresh", ПараметрыТеста); + Dropbox_ОбновитьТокен(ПараметрыТеста); КонецПроцедуры @@ -3226,6 +3231,7 @@ Dropbox_ОпубликоватьПапку(ПараметрыТеста); Dropbox_ДобавитьПользователейКПапке(ПараметрыТеста); Dropbox_ОтменитьПубликациюПапки(ПараметрыТеста); + Dropbox_ОтменитьПубликациюФайла(ПараметрыТеста); КонецПроцедуры @@ -4744,8 +4750,8 @@ Процедура Dropbox_ПолучитьСсылкуАвторизации(ПараметрыФункции) - Ключ = ПараметрыФункции["Dropbox_Appkey"]; - Результат = OPI_Dropbox.ПолучитьСсылкуАвторизации(Ключ); + КлючПриложения = ПараметрыФункции["Dropbox_Appkey"]; + Результат = OPI_Dropbox.ПолучитьСсылкуАвторизации(КлючПриложения); // END @@ -4755,13 +4761,38 @@ КонецПроцедуры +Процедура Dropbox_ПолучитьТокен(ПараметрыФункции) + + КлючПриложения = ПараметрыФункции["Dropbox_Appkey"]; + СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"]; + Код = ПараметрыФункции["Dropbox_Code"]; + + Результат = OPI_Dropbox.ПолучитьТокен(КлючПриложения, СекретПриложения, Код); + + // END + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТокен", "Dropbox"); + + Токен = Результат["access_token"]; + Рефреш = Результат["refresh_token"]; + + Если ЗначениеЗаполнено(Токен) Тогда + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Token", Токен); + КонецЕсли; + + Если ЗначениеЗаполнено(Рефреш) Тогда + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Refresh", Рефреш); + КонецЕсли; + +КонецПроцедуры + Процедура Dropbox_ОбновитьТокен(ПараметрыФункции) - Ключ = ПараметрыФункции["Dropbox_Appkey"]; - Секрет = ПараметрыФункции["Dropbox_Appsecret"]; - Рефреш = ПараметрыФункции["Dropbox_Refresh"]; + КлючПриложения = ПараметрыФункции["Dropbox_Appkey"]; + СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"]; + РефрешТокен = ПараметрыФункции["Dropbox_Refresh"]; - Результат = OPI_Dropbox.ОбновитьТокен(Ключ, Секрет, Рефреш); + Результат = OPI_Dropbox.ОбновитьТокен(КлючПриложения, СекретПриложения, РефрешТокен); // END @@ -5254,6 +5285,21 @@ КонецПроцедуры +Процедура Dropbox_ОтменитьПубликациюФайла(ПараметрыФункции) + + Токен = ПараметрыФункции["Dropbox_Token"]; + Файл = ПараметрыФункции["Dropbox_FileID"]; + + Результат = OPI_Dropbox.ОтменитьПубликациюФайла(Токен, Файл); + + // END + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьПубликациюФайла", "Dropbox"); + + Проверка_Пусто(Результат); + +КонецПроцедуры + #КонецОбласти #КонецОбласти