# 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