1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00

Yandex Disk: скачивание и получение файлов

This commit is contained in:
Anton
2024-02-01 20:43:29 +03:00
parent 5f4b19497a
commit b968d6f7b8

View File

@@ -78,7 +78,7 @@
Параметры.Вставить("path" , Путь);
Параметры.Вставить("permanently", Не ВКорзину);
Ответ = OPI_Инструменты.Delete("https://cloud-api.yandex.net/v1/disk", Параметры, Заголовки);
Ответ = OPI_Инструменты.Delete("https://cloud-api.yandex.net/v1/disk/resources", Параметры, Заголовки);
Возврат Ответ;
@@ -103,7 +103,70 @@
Параметры.Вставить("path", Путь);
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Ответ = OPI_Инструменты.Put(URL + Параметры, , Заголовки, Ложь);
Ответ = OPI_Инструменты.Post(URL + Параметры, , Заголовки, Ложь);
Возврат Ответ;
КонецФункции
// Получить ссылку для скачивания.
//
// Параметры:
// Токен - Строка - Токен
// Путь - Строка - Путь к файлу для скачивания
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ПолучитьСсылкуДляСкачивания(Знач Токен, Знач Путь) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Параметры.Вставить("path", Путь);
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources/download", Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Получить список файлов.
//
// Параметры:
// Токен - Строка - Токен
// ЛимитВложенных - Число,Строка - Количество выводимых вложенных ресурсов
// ОтборПоТипу - Строка - Отбор по типу файла
// Список доступных вариантов: audio, backup, book, compressed, data, development,
// diskimage, document, encoded, executable, flash, font,
// image, settings, spreadsheet, text, unknown, video, web
// СортироватьПоДате - Булево - Истина - сортировать по дате, Ложь - по алфавиту
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex
Функция ПолучитьСписокФайлов(Знач Токен
, Знач ЛимитВложенных = 0
, Знач ОтборПоТипу = ""
, Знач СортироватьПоДате = Ложь) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Если ЗначениеЗаполнено(ЛимитВложенных) Тогда
Параметры.Вставить("limit", OPI_Инструменты.ЧислоВСтроку(ЛимитВложенных));
КонецЕсли;
Если ЗначениеЗаполнено(ОтборПоТипу) Тогда
Параметры.Вставить("media_type", ОтборПоТипу);
КонецЕсли;
Если СортироватьПоДате Тогда
Назначение = "last-uploaded";
Иначе
Назначение = "files";
КонецЕсли;
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources/" + Назначение, Параметры, Заголовки);
Возврат Ответ;