From 5f4b19497a10b3dc7cde0ccd2593cbfd4cbaeabc Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 1 Feb 2024 19:54:07 +0300 Subject: [PATCH] =?UTF-8?q?Yandex=20Disk:=20=D0=BA=D0=BE=D0=BF=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonModules/OPI_YandexDisk/Module.bsl | 62 ++++++++++++++++++- .../OPI_YandexDisk/OPI_YandexDisk.mdo | 1 + 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl b/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl index e50e25535..f456b4278 100644 --- a/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl +++ b/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl @@ -2,6 +2,13 @@ #Область РаботаСФайламиИПапками +// Получить информацию о диске. +// +// Параметры: +// Токен - Строка - Токен +// +// Возвращаемое значение: +// ДвоичныеДанные, Неопределено, Строка, Произвольный - Ответ сервера Yandex Функция ПолучитьИнформациюОДиске(Знач Токен) Экспорт Заголовки = ЗаголовокАвторизации(Токен); @@ -11,6 +18,14 @@ КонецФункции +// Создать папку. +// +// Параметры: +// Токен - Строка - Токен +// Путь - Строка - Путь к созаваемой папке +// +// Возвращаемое значение: +// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex Функция СоздатьПапку(Знач Токен, Знач Путь) Экспорт Заголовки = ЗаголовокАвторизации(Токен); @@ -26,6 +41,14 @@ КонецФункции +// Получить объект. +// +// Параметры: +// Токен - Строка - Токен +// Путь - Строка - Путь к папке или файлу, о котором необходимо получить информацию +// +// Возвращаемое значение: +// ДвоичныеДанные, Неопределено, Строка, Произвольный - Ответ сервера Yandex Функция ПолучитьОбъект(Знач Токен, Знач Путь) Экспорт Заголовки = ЗаголовокАвторизации(Токен); @@ -38,9 +61,19 @@ КонецФункции +// Удалить объект. +// +// Параметры: +// Токен - Строка - Токен +// Путь - Строка - Путь к удаляемой папке или файлу +// ВКорзину - Булево - В корзину +// +// Возвращаемое значение: +// ДвоичныеДанные, Неопределено, Строка, Произвольный - Ответ сервера Yandex Функция УдалитьОбъект(Знач Токен, Знач Путь, Знач ВКорзину = Истина) Экспорт Заголовки = ЗаголовокАвторизации(Токен); + Параметры = Новый Структура; Параметры.Вставить("path" , Путь); Параметры.Вставить("permanently", Не ВКорзину); @@ -51,13 +84,38 @@ КонецФункции +// Создать копию объекта. +// +// Параметры: +// Токен - Строка - Токен +// Оригинал - Строка - Путь к оригинальному файлу или каталогу +// Путь - Строка - Путь-назначение для копии +// +// Возвращаемое значение: +// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex +Функция СоздатьКопиюОбъекта(Знач Токен, Знач Оригинал, Знач Путь) Экспорт + + Заголовки = ЗаголовокАвторизации(Токен); + URL = "https://cloud-api.yandex.net/v1/disk/resources/copy"; + + Параметры = Новый Структура; + Параметры.Вставить("from", Оригинал); + Параметры.Вставить("path", Путь); + + Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры); + Ответ = OPI_Инструменты.Put(URL + Параметры, , Заголовки, Ложь); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #КонецОбласти -#Область СлужебныеПроцедурыИФнукции +#Область СлужебныеПроцедурыИФункции -Функция ЗаголовокАвторизации(Знач Токен) Экспорт +Функция ЗаголовокАвторизации(Знач Токен) Заголовки = Новый Соответствие; Заголовки.Вставить("Authorization", "OAuth " + Токен); diff --git a/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo b/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo index 29ab2263f..6846d3d51 100644 --- a/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo +++ b/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo @@ -7,4 +7,5 @@ true true + true