Zend_Service_Flickr является простым API для
использования веб-вервиса Flickr. Чтобы использовать
веб-вервисы Flickr, вы должны иметь ключ к API. Для того, чтобы
получить ключ и больше информации о сервисе Flickr, обратитесь
к документации по
API веб-вервиса Flickr.
В следующем примере мы используем метод tagSearch()
для поиска фотографий со словом "php" в тегах.
Пример 35.27. Простой поиск фотографий в Flickr
<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('MY_API_KEY');
$results = $flickr->tagSearch("php");
foreach ($results as $result) {
echo $result->title . '<br />';
}
![]() |
Опциональный параметр |
|---|---|
|
Zend_Service_Flickr предоставляет несколько
способов получения информации о пользователях Flickr:
userSearch(): Принимает строку запроса, состоящую из разделенных пробелами тегов, массив опций поиска как опциональный второй параметр и возвращает набор фотографий в виде объектаZend_Service_Flickr_ResultSet.getIdByUsername(): Возвращает ID пользователя, связанного с данным именем.getIdByEmail(): Возвращает ID пользователя, связанного с данным e-mail адресом.
Пример 35.28. Поиск открытых фотографий пользователя по адресу e-mail
В этом примере мы, имея e-mail пользователя Flickr, ищем его
открытые фотографии, используя метод userSearch():
<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('MY_API_KEY');
$results = $flickr->userSearch($userEmail);
foreach ($results as $result) {
echo $result->title . '<br />';
}
Zend_Service_Flickr позволяет извлекать фотографии из
пула группы (group's pool), используя ID группы. Используйте метод
groupPoolGetPhotos():
Пример 35.29. Извлечение фотографий из пула группы через ID группы
<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('MY_API_KEY');
$results = $flickr->groupPoolGetPhotos($groupId);
foreach ($results as $result) {
echo $result->title . '<br />';
}
![]() |
Опциональный параметр |
|---|---|
|
Zend_Service_Flickr делает быстрым и легким получение
данных по изображению через его ID. Просто используйте метод
getImageDetails(), как показано в следующем примере:
Пример 35.30. Получение данных по изображению в Flickr
Имея ID изображения, легко извлечь информацию об этом изображении:
<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('MY_API_KEY');
$image = $flickr->getImageDetails($imageId);
echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n";
echo "<a href=\"$image->clickUri\">Click for Image</a>\n";
Объекты следующих классов возвращаются методами
tagSearch() и userSearch():
Представляет набор результатов поиска, возвращенных Flickr
![]() |
Замечание |
|---|---|
Реализует интерфейс |
Таблица 35.12. Свойства класса Zend_Service_Flickr_ResultSet
| Имя | Тип | Описание |
|---|---|---|
| totalResultsAvailable | int | Общее количество доступных результатов |
| totalResultsReturned | int | Общее количество возвращенных результатов |
| firstResultPosition | int | Смещение для данного набора в общем наборе результатов |
int totalResults();
Возвращает общее количество результатов в наборе.
Отдельный результат запроса к Flickr.
Таблица 35.13. Свойства класса Zend_Service_Flickr_Result
| Имя | Тип | Описание |
|---|---|---|
| id | string | ID изображения |
| owner | string | NSID владельца фотографии |
| secret | string | Ключ, используемый при построении URL |
| server | string | Имя сервера, используемое при построении URL |
| title | string | Подпись к фотографии |
| ispublic | string | Является ли фотография общедоступной |
| isfriend | string | Фотография доступна потому, что вы являетесь другом владельца. |
| isfamily | string | Фотография доступна потому, что вы являетесь членом семьи владельца. |
| license | string | Лицензия, по которой доступна фотография |
| dateupload | string | Дата загрузки фотографии |
| datetaken | string | Дата получения фотографии |
| ownername | string | Ник пользователя |
| iconserver | string | Сервер, используемый в URL иконок |
| Square | Zend_Service_Flickr_Image | Уменьшенная копия изображения 75x75 |
| Thumbnail | Zend_Service_Flickr_Image | Уменьшенная копия изображения 100x100 |
| Small | Zend_Service_Flickr_Image | Уменьшенная копия изображения 240x240 |
| Medium | Zend_Service_Flickr_Image | Уменьшенная копия изображения 500x500 |
| Large | Zend_Service_Flickr_Image | Уменьшенная копия изображения 640x640 |
| Original | Zend_Service_Flickr_Image | Оригинал изображения |
![[Замечание]](/images/note.gif)