1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

Yandex Disk: управление общим доступом

This commit is contained in:
Anton
2024-02-01 23:11:40 +03:00
parent c9d1b560fd
commit c4a01cbb1c

View File

@@ -134,7 +134,8 @@
//
// Параметры:
// Токен - Строка - Токен
// ЛимитВложенных - Число,Строка - Количество выводимых вложенных ресурсов
// Количество - Число,Строка - Количество возвращаемых объектов
// СмещениеОтНачала - Число - Смещение для получение объектов не из начала списка
// ОтборПоТипу - Строка - Отбор по типу файла
// Список доступных вариантов: audio, backup, book, compressed, data, development,
// diskimage, document, encoded, executable, flash, font,
@@ -144,7 +145,8 @@
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ПолучитьСписокФайлов(Знач Токен
, Знач ЛимитВложенных = 0
, Знач Количество = 0
, Знач СмещениеОтНачала = 0
, Знач ОтборПоТипу = ""
, Знач СортироватьПоДате = Ложь) Экспорт
@@ -152,8 +154,12 @@
Параметры = Новый Структура;
Если ЗначениеЗаполнено(ЛимитВложенных) Тогда
Параметры.Вставить("limit", OPI_Инструменты.ЧислоВСтроку(ЛимитВложенных));
Если ЗначениеЗаполнено(Количество) Тогда
Параметры.Вставить("limit", OPI_Инструменты.ЧислоВСтроку(Количество));
КонецЕсли;
Если ЗначениеЗаполнено(СмещениеОтНачала) Тогда
Параметры.Вставить("offset", OPI_Инструменты.ЧислоВСтроку(СмещениеОтНачала));
КонецЕсли;
Если ЗначениеЗаполнено(ОтборПоТипу) Тогда
@@ -199,6 +205,63 @@
#КонецОбласти
#Область УправлениеПубличнымДоступом
// Опубликовать объект.
//
// Параметры:
// Токен - Строка - Токен
// Путь - Строка - Путь к публикуемому объекту
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ОпубликоватьОбъект(Знач Токен, Знач Путь) Экспорт
Возврат ПереключениеОбщегоДоступа(Токен, Путь, Истина);
КонецФункции
// Отменить публикацию объекта.
//
// Параметры:
// Токен - Строка - Токен
// Путь - Строка - Путь к опубликованному ранее объекту
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ОтменитьПубликациюОбъекта(Знач Токен, Знач Путь) Экспорт
Возврат ПереключениеОбщегоДоступа(Токен, Путь, Ложь);
КонецФункции
// Получить список опубликованных объектов.
//
// Параметры:
// Токен - Строка - Токен
// Количество - Число - Количество возвращаемых объектов
// СмещениеОтНачала - Число - Смещение для получение объектов не из начала списка
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ПолучитьСписокОпубликованныхОбъектов(Знач Токен, Знач Количество = 0, Знач СмещениеОтНачала = 0) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Если ЗначениеЗаполнено(Количество) Тогда
Параметры.Вставить("limit", OPI_Инструменты.ЧислоВСтроку(Количество));
КонецЕсли;
Если ЗначениеЗаполнено(СмещениеОтНачала) Тогда
Параметры.Вставить("offset", OPI_Инструменты.ЧислоВСтроку(СмещениеОтНачала));
КонецЕсли;
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources/public", Параметры, Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -212,4 +275,21 @@
КонецФункции
Функция ПереключениеОбщегоДоступа(Знач Токен, Знач Путь, Знач ОбщийДоступ)
Заголовки = ЗаголовокАвторизации(Токен);
Назначение = ?(ОбщийДоступ, "publish", "unpublish");
URL = "https://cloud-api.yandex.net/v1/disk/resources/" + Назначение;
Параметры = Новый Структура;
Параметры.Вставить("path", Путь);
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Ответ = OPI_Инструменты.Put(URL + Параметры, , Заголовки, Ложь);
Возврат Ответ;
КонецФункции
#КонецОбласти