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 18:44:31 +03:00
parent 83aa446dd6
commit 6d89c40052
5 changed files with 98 additions and 9 deletions

View File

@ -0,0 +1,69 @@
#Область ПрограммныйИнтерфейс
#Область РаботаСФайламиИПапками
Функция ПолучитьИнформациюОДиске(Знач Токен) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk", , Заголовки);
Возврат Ответ;
КонецФункции
Функция СоздатьПапку(Знач Токен, Знач Путь) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
URL = "https://cloud-api.yandex.net/v1/disk/resources";
Параметры = Новый Структура;
Параметры.Вставить("path", Путь);
Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Ответ = OPI_Инструменты.Put(URL + Параметры, , Заголовки, Ложь);
Возврат Ответ;
КонецФункции
Функция ПолучитьОбъект(Знач Токен, Знач Путь) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Параметры.Вставить("path", Путь);
Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources", Параметры, Заголовки);
Возврат Ответ;
КонецФункции
Функция УдалитьОбъект(Знач Токен, Знач Путь, Знач ВКорзину = Истина) Экспорт
Заголовки = ЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
Параметры.Вставить("path" , Путь);
Параметры.Вставить("permanently", Не ВКорзину);
Ответ = OPI_Инструменты.Delete("https://cloud-api.yandex.net/v1/disk", Параметры, Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФнукции
Функция ЗаголовокАвторизации(Знач Токен) Экспорт
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "OAuth " + Токен);
Возврат Заголовки;
КонецФункции
#КонецОбласти

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="af0b34e8-10fa-414f-a643-915210c6289a">
<name>OPI_YandexDisk</name>
<synonym>
<key>ru</key>
<value>Методы работы с Yandex Disk (ОПИ)</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
</mdclass:CommonModule>

View File

@ -3,7 +3,7 @@
<name>OPI_YandexID</name>
<synonym>
<key>ru</key>
<value>Yandex ID</value>
<value>Методы работы с Yandex ID (ОПИ)</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>

View File

@ -25,6 +25,8 @@
#Область HTTPМетоды
// Без тела
Функция Get(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "") Экспорт
Возврат ВыполнитьЗапросБезТела(URL, "GET", Параметры, ДопЗаголовки);
КонецФункции
@ -33,6 +35,20 @@
Возврат ВыполнитьЗапросБезТела(URL, "DELETE", Параметры, ДопЗаголовки);
КонецФункции
// С телом
Функция Post(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON);
КонецФункции
Функция Patch(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON);
КонецФункции
Функция Put(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
Возврат ВыполнитьЗапросСТелом(URL, "PUT", Параметры, ДопЗаголовки, JSON);
КонецФункции
// BSLLS:CognitiveComplexity-off
Функция PostMultipart(Знач URL, Знач Параметры, Знач Файлы = "", Знач ТипКонтента = "image/jpeg",
@ -140,14 +156,6 @@
// BSLLS:CognitiveComplexity-on
Функция Post(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON);
КонецФункции
Функция Patch(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON);
КонецФункции
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
СоответствиеВозврата = Новый Соответствие;
@ -372,6 +380,7 @@
Возврат ТелоОтвета;
КонецФункции
#Область GZip
// Описание структур см. здесь https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

View File

@ -58,4 +58,5 @@
<commonModules>CommonModule.OPI_Notion</commonModules>
<commonModules>CommonModule.OPI_Криптография</commonModules>
<commonModules>CommonModule.OPI_YandexID</commonModules>
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
</mdclass:Configuration>