Zend_Service_DeveloperGarden | Zend_Service Programmer's Reference Guide | Zend_Service_LiveDocx

# Zend_Service_Flickr

# Introduction

Zend_Service_Flickr is a simple API for using the Flickr REST Web Service. In order to use the Flickr web services, you must have an API key. To obtain a key and for more information about the Flickr REST Web Service, please visit the » Flickr API Documentation.

In the following example, we use the tagSearch() method to search for photos having "php" in the tags.

Example #1 Simple Flickr Photo Search

1. $flickr = new Zend_Service_Flickr('MY_API_KEY');
3. $results = $flickr->tagSearch("php");
5. foreach ($results as $result) {
6. echo $result->title . '<br />';
7. }

> Note: Optional parameter
> tagSearch() accepts an optional second parameter as an array of options.

# Finding Flickr Users' Photos and Information

Zend_Service_Flickr provides several ways to get information about Flickr users:

- userSearch(): Accepts a string query of space-delimited tags and an optional second parameter as an array of search options, and returns a set of photos as a Zend_Service_Flickr_ResultSet object.

- getIdByUsername(): Returns a string user ID associated with the given username string.

- getIdByEmail(): Returns a string user ID associated with the given email address string.

Example #2 Finding a Flickr User's Public Photos by E-Mail Address

In this example, we have a Flickr user's e-mail address, and we search for the user's public photos by using the userSearch() method:

1. $flickr = new Zend_Service_Flickr('MY_API_KEY');
3. $results = $flickr->userSearch($userEmail);
5. foreach ($results as $result) {
6. echo $result->title . '<br />';
7. }

# Finding photos From a Group Pool

Zend_Service_Flickr allows to retrieve a group's pool photos based on the group ID. Use the groupPoolGetPhotos() method:

Example #3 Retrieving a Group's Pool Photos by Group ID

1. $flickr = new Zend_Service_Flickr('MY_API_KEY');
3. $results = $flickr->groupPoolGetPhotos($groupId);
5. foreach ($results as $result) {
6. echo $result->title . '<br />';
7. }

> Note: Optional parameter
> groupPoolGetPhotos() accepts an optional second parameter as an array of options.

# Retrieving Flickr Image Details

Zend_Service_Flickr makes it quick and easy to get an image's details based on a given image ID. Just use the getImageDetails() method, as in the following example:

Example #4 Retrieving Flickr Image Details

Once you have a Flickr image ID, it is a simple matter to fetch information about the image:

1. $flickr = new Zend_Service_Flickr('MY_API_KEY');
3. $image = $flickr->getImageDetails($imageId);
5. echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n";
6. echo "<a href=\"$image->clickUri\">Click for Image</a>\n";

# Zend_Service_Flickr Result Classes

The following classes are all returned by tagSearch() and userSearch():

- Zend_Service_Flickr_ResultSet

- Zend_Service_Flickr_Result

- Zend_Service_Flickr_Image

# Zend_Service_Flickr_ResultSet

Represents a set of Results from a Flickr search.

> Note: Implements the SeekableIterator interface for easy iteration (e.g., using foreach()), as well as direct access to a specific result using seek().

# Properties

Zend_Service_Flickr_ResultSet Properties
Name | Type | Description
--- | --- | ---
totalResultsAvailable | int | Total Number of Results available
totalResultsReturned | int | Total Number of Results returned
firstResultPosition | int | The offset in the total result set of this result set

# Zend_Service_Flickr_ResultSet::totalResults()

int totalResults ( void )

Returns the total number of results in this result set.

Back to Class List

# Zend_Service_Flickr_Result

A single Image result from a Flickr query

# Properties

Zend_Service_Flickr_Result Properties
Name | Type | Description
--- | --- | ---
id | string | Image ID
owner | string | The photo owner's NSID.
secret | string | A key used in url construction.
server | string | The servername to use for URL construction.
title | string | The photo's title.
ispublic | string | The photo is public.
isfriend | string | The photo is visible to you because you are a friend of the owner.
isfamily | string | The photo is visible to you because you are family of the owner.
license | string | The license the photo is available under.
dateupload | string | The date the photo was uploaded.
datetaken | string | The date the photo was taken.
ownername | string | The screenname of the owner.
iconserver | string | The server used in assembling icon URLs.
Square | Zend_Service_Flickr_Image | A 75x75 thumbnail of the image.
Thumbnail | Zend_Service_Flickr_Image | A 100 pixel thumbnail of the image.
Small | Zend_Service_Flickr_Image | A 240 pixel version of the image.
Medium | Zend_Service_Flickr_Image | A 500 pixel version of the image.
Large | Zend_Service_Flickr_Image | A 640 pixel version of the image.
Original | Zend_Service_Flickr_Image | The original image.

Back to Class List

# Zend_Service_Flickr_Image

Represents an Image returned by a Flickr search.

# Properties

Zend_Service_Flickr_Image Properties
Name | Type | Description
--- | --- | ---
uri | string | URI for the original image
clickUri | string | Clickable URI (i.e. the Flickr page) for the image
width | int | Width of the Image
height | int | Height of the Image

Back to Class List

Zend_Service_DeveloperGarden | Zend_Service Programmer's Reference Guide | Zend_Service_LiveDocx