ВебмастерМетрикаВиджетыРекламная сетьДиректПоиск для сайтаAPI
Войти

В формате PDF

Редактирование фотографии

Авторизация

Требуется. Данную операцию может выполнить только владелец фотографии.

Порядок действий

  1. Получить Atom Entry фотографии.

    Адрес ресурса фотографии для его редактирования определяется ссылкой <link rel="edit" ... />, содержащейся в Atom Entry фотографии (см. Получение данных фотографии).

  2. Изменить нужные атрибуты.
  3. Сохранить измененный Atom Entry PUT-запросом по адресу ресурса фотографии.
Внимание!
Настоятельно рекомендуется каждый раз перед редактированием фотографии получать ее полное представление и уже в нем изменять значения атрибутов.

В случае успеха сервер возвращает 200 OK и Atom Entry измененной фотографии.

Пример

Сохранение измененных данных фотографии (комментарии не являются частью запроса):

PUT /api/users/alekna/photo/126745/ HTTP/1.1
Host: api-fotki.yandex.ru
Content-Type: application/atom+xml; charset=utf-8; type=entry
Authorization: OAuth eb1c5...
 
<entry>
  <id>urn:yandex:fotki:alekna:photo:126746</id>
  <!-- старое название: "Я на фоне Бранденбургских ворот" -->
  <title>Я на фоне Бранденбургских ворот вместе с немецкими полицейскими в парадной форме</title>
  <author>
    <name>alekna</name>
  </author>
  <link href="http://api-fotki.yandex.ru/api/users/alekna/photo/126746/" rel="self" />
  <link href="http://api-fotki.yandex.ru/api/users/alekna/photo/126746/" rel="edit" />
  <link href="http://fotki.yandex.ru/users/alekna/view/126746/" rel="alternate" />
  <link href="http://img-fotki.yandex.ru/get/3306/alekna.0/0_1ef1a_9a6e7171_XL" rel="edit-media" />
  <link href="http://api-fotki.yandex.ru/api/users/alekna/album/63988/" rel="album" />
  <published>2009-01-27T11:57:32Z</published>
  <app:edited>2009-01-27T11:57:32Z</app:edited>
  <updated>2009-01-27T11:57:32Z</updated>
  <f:created>2008-07-10T22:02:40</f:created>
  <!-- старое значение: "public" -->
  <f:access value="private" />
  <f:xxx value="false" />
  <f:hide_original value="false" />
  <f:disable_comments value="false" />
  <!--Добавлен элемент category>
  <category term="птички" scheme="http://api-fotki.yandex.ru/api/users/alekna/tags/" />
  <content src="http://img-fotki.yandex.ru/get/3306/alekna.0/0_1ef1a_9a6e7171_XL" type="image/*" />
</entry>

Ответ сервера:

HTTP/1.1 200 OK
Content-Type: application/atom+xml; type=entry
Content-Location: http://fotki.yandex.ru/users/alekna/view/126746/
 
<entry>
  <id>urn:yandex:fotki:alekna:photo:126746</id>
  <title>Я на фоне Бранденбургских ворот вместе с немецкими полицейскими в парадной форме</title>
  <author>
    <name>alekna</name>
  </author>
  <link href="http://api-fotki.yandex.ru/api/users/alekna/photo/126746/" rel="self" />
  <link href="http://api-fotki.yandex.ru/api/users/alekna/photo/126746/" rel="edit" />
  <link href="http://fotki.yandex.ru/users/alekna/view/126746/" rel="alternate" />
  <link href="http://img-fotki.yandex.ru/get/3306/alekna.0/0_1ef1a_9a6e7171_XL" rel="edit-media" />
  <link href="http://api-fotki.yandex.ru/api/users/alekna/album/63988/" rel="album" />
  <published>2009-01-27T11:57:32Z</published>
  <app:edited>2009-01-27T11:57:32Z</app:edited>
  <updated>2009-01-27T11:57:32Z</updated>
  <f:created>2008-07-10T22:02:40</f:created>
  <f:access value="private" />
  <f:xxx value="false" />
  <f:hide_original value="false" />
  <f:disable_comments value="false" />
  <category term="птички" scheme="http://api-fotki.yandex.ru/api/users/alekna/tags/" />
  <content src="http://img-fotki.yandex.ru/get/3306/alekna.0/0_1ef1a_9a6e7171_XL" type="image/*" />
</entry>

Менять можно следующие атрибуты фотографии:

  • atom:title

    Название фотографии. Не может быть пустой строкой.

  • atom:summary

    Описание фотографии.

  • f:xxx

    Флаг "для взрослых", write-only (можно только установить, снять нельзя).

    Значение по умолчанию: false.

  • f:disable_comments

    Флаг запрета комментариев.

    Значение по умолчанию: false.

  • f:hide_original

    Флаг запрета публичного доступа к оригиналу фотографии. Если флаг принимает значение true, то получить оригинал фотографии нельзя.

    Значение по умолчанию: false.

    Примечание
    Если данный флаг установлен в true, автор не сможет получить оригинал фотографии при помощи API Фоток. Для этого нужно воспользоваться возможностями веб-сервиса Яндекс.Фотки.
  • f:access

    Уровень доступа к фотографии.

    Значение по умолчанию: "public".

  • atom:link[@rel="album"]

    Ссылка на альбом, в котором содержится фотография. Перемещение фотографии между альбомами осуществляется сменой адреса альбома в XML-атрибуте href.

  • atom:category

    Тег фотографии. Необходимо указать следующие атрибуты:

    • term - имя тега;
    • scheme - адрес коллекции тегов пользователя. Его можно получить из сервисного документа.
    Если тега ранее не существовало, он автоматически добавится в коллекцию тегов.

Остальные свойства не подлежат редактированию и должны передаваться без изменений.

Возможные ошибки

  • 401 Unauthorized, 403 Forbidden

    Ошибки авторизации.

  • 400 Bad Request

    Переданный клиентским приложением XML не является валидным Atom Entry фотографии или содержит пустой параметр atom:title.

  • 403 Forbidden

    Для доступа к альбому, в котором хранится фотография, требуется пароль.

  • 404 Not found

    Такого пользователя или альбома не существует. В теле ответа отдается:

    User {login} not found или Album {album_id} not found соответственно.

  • 415 Unsupported Media Type

    Заголовок Content-Type содержит тип, отличный от типа Atom Entry.