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 | Оригинал изображения |