1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-25 02:42:28 +02:00

Yandex Disk: сохранение публичного объекта

This commit is contained in:
Anton 2024-02-04 19:14:19 +03:00
parent 19ad8eec5c
commit b4aff0bee2

View File

@ -326,12 +326,12 @@
//
// Параметры:
// Токен - Строка - Токен
// URL - Строка - URL
// URL - Строка - Адрес объекта
// Количество - Число - Количество возвращаемых вложенных объектов (для каталога)
// СмещениеОтНачала - Число - Смещение для получение вложенных объектов не из начала списка
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, Неопределено - Получить публичный объект
// Строка, Произвольный, ДвоичныеДанные, Неопределено - Ответ сервера Yandex
Функция ПолучитьПубличныйОбъект(Знач Токен, Знач URL, Знач Количество = 0, Знач СмещениеОтНачала = 0) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
@ -354,6 +354,66 @@
КонецФункции
// Получить ссылку скачивания публичного объекта.
//
// Параметры:
// Токен - Строка - Токен
// URL - Строка - Адрес объекта
// Путь - Строка - Путь
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, Неопределено - Ответ сервера Yandex
Функция ПолучитьСсылкуСкачиванияПубличногоОбъекта(Знач Токен, Знач URL, Знач Путь = "") Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Если ЗначениеЗаполнено(Путь) Тогда
Параметры.Вставить("path", Путь);
КонецЕсли;
Параметры.Вставить("public_key", URL);
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/public/resources/download", Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Сохранить публичный объект на диск.
//
// Параметры:
// Токен - Строка - Токен
// URL - Строка - Адрес объекта
// Откуда - Строка - Путь внутри публичного каталога (только для папок)
// Куда - Строка - Путь сохранения файла
//
// Возвращаемое значение:
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Ответ сервера Yandex
Функция СохранитьПубличныйОбъектНаДиск(Знач Токен, Знач URL, Откуда = "", Куда = "") Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Адрес = "https://cloud-api.yandex.net/v1/disk/public/resources/save-to-disk";
Параметры = Новый Структура;
Параметры.Вставить("public_key", URL);
Если ЗначениеЗаполнено(Откуда) Тогда
Параметры.Вставить("path", Откуда);
КонецЕсли;
Если ЗначениеЗаполнено(Куда) Тогда
Параметры.Вставить("save_path", Куда);
КонецЕсли;
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Ответ = OPI_Инструменты.Post(Адрес + Параметры, , Заголовки, Ложь);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти