На предыдущем этапе была создана фотография с названием "Фотка" и идентификатором urn:yandex:fotki:alekna:photo:448328 . Теперь изменим ее название, описание и права доступа, а также добавим тег.
Для редактирования фотографии нужно знать ее свежее представление. Оно у нас уже есть с предыдущего шага (см. Загрузка изображения в альбом ).
В этом представлении меняем значение элемента atom:title на "Хунгароринг", добавляем atom:summary со значением "Венгрия, август 2007 год", меняем значение f:access и добавляем тег "гонки".
Отредактированное представление фотографии загружается на сервер PUT-запросом. Запрос выполняется по адресу ресурса фотографии для редактирования. Этот адрес был извлечен из элемента <link ... rel="edit"> на предыдущем шаге после добавления фотографии.
Изменение фотографии выполняется с помощью запроса вида:
PUT /api/users/alekna/photo/448328/ HTTP/1.1
Host: api-fotki.yandex.ru
Content-Type: application/atom+xml; charset=utf-8; type=entry
Authorization: OAuth eb1c5...
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:f="yandex:fotki">
<id>urn:yandex:fotki:alekna:photo:448328</id>
<author>
<name>alekna</name>
</author>
<!-- Новое название -->
<title>Хунгароринг</title>
<!-- Добавлено описание фотографии -->
<summary>Венгрия, август 2007 год</summary>
<link href="http://api-fotki.yandex.ru/api/users/alekna/photo/448328/" rel="self" />
<link href="http://api-fotki.yandex.ru/api/users/alekna/photo/448328/" rel="edit" />
<link href="http://fotki.yandex.ru/users/alekna/view/448328/" rel="alternate" />
<link href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" rel="edit-media" />
<link href="http://api-fotki.yandex.ru/api/users/alekna/album/168628/" rel="album" />
<published>2011-05-10T10:24:44Z</published>
<app:edited>2011-05-10T10:50:13Z</app:edited>
<updated>2011-05-10T10:50:13Z</updated>
<!-- Изменено значение f:access> -->
<f:access value="public" />
<f:xxx value="false" />
<f:hide_original value="false" />
<f:disable_comments value="false" />
<f:img height="75" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XXS" size="XXS" width="75" />
<f:img height="453" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XL" size="XL" width="604" />
<f:img height="225" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_M" size="M" width="300" />
<f:img height="375" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_L" size="L" width="500" />
<f:img height="50" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XXXS" size="XXXS" width="50" />
<f:img height="113" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_S" size="S" width="150" />
<f:img height="75" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XS" size="XS" width="100" />
<f:img height="453" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" size="orig" width="604" />
<!-- добавлен тег -->
<category scheme="http://api-fotki.yandex.ru/api/users/alekna/tags/" term="гонки" />
<content src="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" type="image/*" />
</entry>
Сервер возвращает новое представление фотографии:
HTTP/1.1 200 OK
Content-Type: application/atom+xml; type=entry
Location: http://api-fotki.yandex.ru/api/users/alena/photo/448328/
Content-Location: http://fotki.yandex.ru/users/alena/view/448328/
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:f="yandex:fotki">
<id>urn:yandex:fotki:alekna:photo:406190</id>
<author>
<name>alekna</name>
</author>
<title>Хунгароринг</title>
<summary>Венгрия, август 2007 год</summary>
<link href="http://api-fotki.yandex.ru/api/users/alekna/photo/448328/" rel="self" />
<link href="http://api-fotki.yandex.ru/api/users/alekna/photo/448328/" rel="edit" />
<link href="http://fotki.yandex.ru/users/alekna/view/448328/" rel="alternate" />
<link href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" rel="edit-media" />
<link href="http://api-fotki.yandex.ru/api/users/alekna/album/168628/" rel="album" />
<published>2011-02-21T10:49:34Z</published>
<app:edited>2011-05-10T10:43:38Z</app:edited>
<updated>2011-05-10T10:43:38Z</updated>
<f:access value="public" />
<f:xxx value="false" />
<f:hide_original value="false" />
<f:disable_comments value="false" />
<f:img height="75" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XXS" size="XXS" width="75" />
<f:img height="453" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XL" size="XL" width="604" />
<f:img height="225" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_M" size="M" width="300" />
<f:img height="375" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_L" size="L" width="500" />
<f:img height="50" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XXXS" size="XXXS" width="50" />
<f:img height="113" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_S" size="S" width="150" />
<f:img height="75" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_XS" size="XS" width="100" />
<f:img height="453" href="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" size="orig" width="604" />
<category scheme="http://api-fotki.yandex.ru/api/users/alekna/tags/" term="гонки" />
<content src="http://img-fotki.yandex.ru/get/5302/alekna.1/0_6d748_e3942262_orig" type="image/*" />
</entry>
Все изменения были сохранены на сервере. Изменились название фотографии, ее описание и права доступа. Также добавился новый элемент atom:category , относящий фотографию к теме "гонки".
Атрибут atom:updated содержит дату и время последнего редактирования фотографии и изменяется автоматически. По значению atom:updated можно отслеживать, проводились ли изменения фотографии другими клиентами.
В Atom Entry фотографии есть элементы f:img , содержащие адреса уменьшенных изображений, которые генерируются автоматически при добавлении фотографии. Эти адреса можно использовать, например, для отображения фотогалерей.