# 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.

Simple Flickr Photo Search

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->tagSearch("php");

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }

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.

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:

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->userSearch($userEmail);

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }

## 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:

Retrieving a Group's Pool Photos by Group ID

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

        $results = $flickr->groupPoolGetPhotos($groupId);

        foreach ($results as $result) {
            echo $result->title . '<br />';
        }

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:

Retrieving Flickr Image Details

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

    $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";

## 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.

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

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