Добавление метаинформации для ресурса
Для любого файла или папки, доступной на запись, можно задать дополнительные произвольные атрибуты. Эти атрибуты будут возвращаться в ответ на все запросы метаинформации о ресурсах (список всех файлов, последние загруженные и т. д.).
Формат запроса
Запрос добавления метаинформации следует отправлять с помощью метода PATCH.
https://cloud-api.yandex.net/v1/disk/resources/
? path=<путь к ресурсу>
& [fields=<свойства, которые нужно включить в ответ>]
- path*
-
Путь к нужному ресурсу относительно корневого каталога Диска. Путь к ресурсу в Корзине следует указывать относительно корневого каталога Корзины.
Путь в значении параметра следует кодировать в URL-формате.
- fields
-
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.
Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например:name,_embedded.items.path
.
* Обязательный параметр.
Тело запроса
Добавляемые атрибуты следует передавать в теле запроса, в свойствах объекта custom_properties
(можно передавать любые части объекта Resource, но все кроме custom_properties
будет проигнорировано). Атрибуты могут быть только свойствами вида имя:значение
и, соответственно, не могут быть массивами или родительскими объектами.
Ограничение
Ограничение на длину объекта custom_properties
(имена и значения вложенных ключей, а также синтаксические знаки) — 1024 символа.
Переданные атрибуты добавляются к уже имеющимся. Например, передается следующий объект, с атрибутами foo
и bar
:
"custom_properties": {"foo":"1", "bar":"2"}
Если до этого в метаинформации ресурса не было объекта custom_properties
, API просто добавит к ней переданный объект.
Если же такой объект уже имеется (например, "custom_properties": {"oof":"3", "bar":"0"}
), API обновит ключи с совпадающими именами и добавит новые. В метаинформации ресурса можно будет видеть такой объект:
"custom_properties": {"oof": "3", "bar":"0", "foo":"1"}
Чтобы удалить какой-либо атрибут, следует передать его со значением null
, например:
"custom_properties": {"foo": null}
Формат ответа
Если запрос был обработан без ошибок, API отвечает кодом 200 OK
и возвращает метаинформацию о запрошенном ресурсе в теле ответа в объекте Resource.
Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит описание ошибки.
Для непустых папок в ответ включается объект ResourceList (под именем _embedded
). Каждый вложенный в папку ресурс является элементом массива items
.Вне зависимости от запрошенной сортировки, ресурсы в массиве упорядочены по их виду: сначала перечисляются все вложенные папки, затем — вложенные файлы.
{
"public_key": "HQsmHLoeyBlJf8Eu1jlmzuU+ZaLkjPkgcvmokRUCIo8=",
"_embedded": {
"sort": "",
"path": "disk:/foo",
"items": [
{
"path": "disk:/foo/bar",
"type": "dir",
"name": "bar",
"modified": "2014-04-22T10:32:49+04:00",
"created": "2014-04-22T10:32:49+04:00"
},
{
"name": "photo.png",
"preview": "https://downloader.disk.yandex.ru/preview/...",
"created": "2014-04-21T14:57:13+04:00",
"modified": "2014-04-21T14:57:14+04:00",
"path": "disk:/foo/photo.png",
"md5": "4334dc6379c8f95ddf11b9508cfea271",
"type": "file",
"mime_type": "image/png",
"size": 34567
}
],
"limit": 20,
"offset": 0
},
"name": "foo",
"created": "2014-04-21T14:54:42+04:00",
"custom_properties": {"foo":"1", "bar":"2"},
"public_url": "https://yadi.sk/d/AaaBbb1122Ccc",
"modified": "2014-04-22T10:32:49+04:00",
"path": "disk:/foo",
"type": "dir"
}
Описание элементов ответа
Элемент |
Описание |
|
Ключ опубликованного ресурса. Включается в ответ только если указанный файл или папка опубликован. |
|
Ссылка на опубликованный ресурс. Включается в ответ только если указанный файл или папка опубликован. |
|
Ресурсы, непосредственно содержащиеся в папке (содержит объект ResourceList). Включается в ответ только при запросе метаинформации о папке. |
|
Ссылка на уменьшенное изображение из файла (превью). Включается в ответ только для файлов поддерживаемых графических форматов. Запросить превью можно только с OAuth-токеном пользователя, имеющего доступ к самому файлу. |
|
Имя ресурса. |
|
Объект со всеми атрибутами, заданными с помощью запроса Добавление метаинформации для ресурса. Содержит только ключи вида |
|
Дата и время создания ресурса, в формате ISO 8601. |
|
Дата и время изменения ресурса, в формате ISO 8601. |
|
Полный путь к ресурсу на Диске. В метаинформации опубликованной папки пути указываются относительно самой папки. Для опубликованных файлов значение ключа всегда «/». Для ресурса, находящегося в Корзине, к атрибуту может быть добавлен уникальный идентификатор (например, |
|
Путь к ресурсу до перемещения в Корзину. Включается в ответ только для запроса метаинформации о ресурсе в Корзине. |
|
MD5-хэш файла. |
|
Тип ресурса:
|
|
MIME-тип файла. |
|
Размер файла. |
Элемент |
Описание |
|
Поле, по которому отсортирован список. |
|
Ключ опубликованной папки, в которой содержатся ресурсы из данного списка. Включается только в ответ на запрос метаинформации о публичной папке. |
|
Массив ресурсов (Resource), содержащихся в папке. Вне зависимости от запрошенной сортировки, ресурсы в массиве упорядочены по их виду: сначала перечисляются все вложенные папки, затем — вложенные файлы. |
|
Максимальное количество элементов в массиве |
|
Смещение начала списка от первого ресурса в папке. |
|
Путь к папке, чье содержимое описывается в данном объекте Для публичной папки значение атрибута всегда равно «/». |
|
Общее количество ресурсов в папке. |
Путь к нужному ресурсу относительно корневого каталога Диска. Путь к ресурсу в Корзине следует указывать относительно корневого каталога Корзины.
Путь в значении параметра следует кодировать в URL-формате.
Список свойств JSON, которые следует включить в ответ. Ключи, не указанные в этом списке, будут отброшены при составлении ответа. Если параметр не указан, ответ возвращается полностью, без сокращений.
Имена ключей следует указывать через запятую, а вложенные ключи разделять точками. Например: name,_embedded.items.path
.
Обязательный параметр.