1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-12 04:34:10 +02:00

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

This commit is contained in:
Anton 2024-02-01 23:11:40 +03:00
parent 63bd9b0f7e
commit 1d97745ca2

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 + Параметры, , Заголовки, Ложь);
Возврат Ответ;
КонецФункции
#КонецОбласти