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

В формате PDF

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

На предыдущем этапе была создана фотография с названием "Фотка" и идентификатором 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, содержащие адреса уменьшенных изображений, которые генерируются автоматически при добавлении фотографии. Эти адреса можно использовать, например, для отображения фотогалерей.