Клуб API Диска

Поиск файлов в яндекс диске

10 сентября, 20:57

Добрый вечер.

Есть ли способ найти файл по имени или части имени, а также получить список последних добавленных файлов. Просто каждый раз методом перебора делать как то криво. В документации не нашел про это:  

https://tech.yandex.ru/disk/doc/dg/yandex-disk-dg.pdf

Код получения списка:

ИмяСервера = "cloud-api.yandex.net";
	ОтносительныйURL = 
		"/v1/disk/resources?path=" + Путь +
		"&offset=" + XMLСтрока(Смещение);
	
	Заголовки = Новый Соответствие;
    Заголовки.Вставить("Accept", "application/json");
    Заголовки.Вставить("Content-Type", "application/json");
    Заголовки.Вставить("Authorization", "OAuth " + Токен);
	
	HttpЗапрос = Новый HTTPЗапрос(ОтносительныйURL, Заголовки);
	
	HttpСоединение = Новый HTTPСоединение(ИмяСервера, 443,,,, 60, Новый ЗащищенноеСоединениеOpenSSL);
	HttpОтвет = HttpСоединение.Получить(HttpЗапрос);

	ТелоОтвета = HttpОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
	ОбработатьКодСостояния(HttpОтвет, ОтносительныйURL, ТелоОтвета);
	
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ТелоОтвета);
	Ответ = ФабрикаXDTO.ПрочитатьJSON(Чтение);
	
	Если Ответ._embedded.total - Ответ._embedded.offset > 1 Тогда
		Для Каждого Item Из Ответ._Embedded.Items.Items Цикл
			Стр = СписокФайлов.Добавить();
			Стр.Имя = Item.Name;
			Стр.Тип = Item.Type;
			Стр.Путь = Item.Path;
		КонецЦикла;
	ИначеЕсли Ответ._embedded.total - Ответ._embedded.offset = 1 Тогда
		Стр = СписокФайлов.Добавить();
		Стр.Имя = Ответ._Embedded.Items.Items.Name;
		Стр.Тип = Ответ._Embedded.Items.Items.Type;
		Стр.Путь = Ответ._Embedded.Items.Items.Path;
	КонецЕсли;
	
	Если Ответ._embedded.total > Ответ._embedded.limit + Ответ._embedded.offset Тогда
		СписокФайлов(Путь, Мин(Смещение + Ответ._embedded.limit, Ответ._embedded.total)); 
	КонецЕсли;