24.4. Zend_Service_Flickr
前のページ | 第24章 Zend_Service | 次のページ

## 24.4. Zend_Service_Flickr

### 24.4.1. Flickr 検索の導入

`Zend_Service_Flickr` は、Flickr の REST Web Service を使用するためのシンプルな API です。 Flickr ウェブサービスを使用するには API キーが必要です。 キーを取得したり Flickr REST Web Service の詳細情報を取得したりするには Flickr API Documentation を参照ください。

以下の例では、"php" というタグがつけられた写真を `tagSearch()` メソッドを使用して検索します。

例 24.10. 単純な 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 />';
    }
    ?>

| オプションのパラメータ
`tagSearch()` は、オプションの 2 番目の引数に検索オプションを指定することができます。

### 24.4.2. Flickr ユーザの検索

`Zend_Service_Flickr` では、3 通りの方法で Flickr ユーザの情報を取得することができます。

- `userSearch()`: タグをスペースで区切ったクエリ文字列、 そしてオプションの 2 番目のパラメータで検索オプションの配列を指定して検索し、 結果を `Zend_Service_Flickr_ResultSet` オブジェクトで返します。

- `getIdByUsername()`: 指定したユーザ名に対応するユーザ ID を文字列で返します。

- `getIdByEmail()`: 指定したメールアドレスに対応するユーザ ID を文字列で返します。

例 24.11. メールアドレスからの Flickr ユーザの検索

この例では、メールアドレスがわかっている 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 />';
    }
    ?>

### 24.4.3. Flickr 画像の詳細の取得

`Zend_Service_Flickr` を使用すると、指定した画像 ID の画像についての詳細情報をすばやく簡単に取得できます。 そのためには、以下の例のように単純に `getImageDetails()` メソッドを使用します。

例 24.12. Flickr 画像の詳細の取得

Flickr 画像 ID を使用すると、簡単に画像の情報が取得できます。

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $image = $flickr->getImageDetails($imageId);

    echo "画像 ID $imageId は $image->width x $image->height ピクセルです。<br />\n";
    echo "<a href=\"$image->clickUri\">クリックすると画像を表示します</a>\n";
    ?>

### 24.4.4. Zend_Service_Flickr クラス群

`tagSearch()` あるいは `userSearch()` から返されるのは、以下のクラスのいずれかです。

- `Zend_Service_Flickr_ResultSet`

- `Zend_Service_Flickr_Result`

- `Zend_Service_Flickr_Image`

#### 24.4.4.1. Zend_Service_Flickr_ResultSet

Flickr 検索からの結果セットを表します。

| 注意
操作性を高めるため、`SeekableIterator` を実装しています。 これにより、一般的な順次処理 (例えば `foreach` など) だけでなく `seek()` を使用した特定の結果への直接アクセスも可能です。

##### 24.4.4.1.1. プロパティ

表 24.10. Zend_Service_Flickr_ResultSet のプロパティ

名前 | 型 | 説明
--- | --- | ---
totalResultsAvailable | int | 使用可能な結果の総数
totalResultsReturned | int | 返された結果の総数
firstResultPosition | int | すべての結果セットの中でのこの結果セットの位置

##### 24.4.4.1.2. Zend_Service_Flickr_ResultSet::totalResults()

`int totalResults();`

この結果セット内の結果の数を返します。

クラス一覧に戻る

#### 24.4.4.2. Zend_Service_Flickr_Result

Flickr クエリから返される結果の画像情報を表します。

##### 24.4.4.2.1. プロパティ

表 24.11. Zend_Service_Flickr_Result のプロパティ

名前 | 型 | 説明
--- | --- | ---
id | int | 画像 ID
owner | int | 画像の所有者の NSID
secret | string | URL の作成に使用されるキー
server | string | URL の作成に使用されるサーバ名
title | string | 写真のタイトル
ispublic | boolean | 写真が公開されているかどうか
isfriend | boolean | 画像の所有者の友達であるかどうか
isfamily | boolean | 画像の所有者の家族であるかどうか
license | string | 写真についてのライセンス情報
date_upload | string | 写真がアップロードされた日付
date_taken | string | 写真が撮影された日付
owner_name | string | 所有者のスクリーンネーム
icon_server | string | アイコンの URL を組み立てるために使用するサーバ
Square | Zend_Service_Flickr_Image | 75x75 の、画像のサムネイル
Thumbnail | Zend_Service_Flickr_Image | 100 ピクセルの、画像のサムネイル
Small | Zend_Service_Flickr_Image | 240 ピクセル版の画像
Medium | Zend_Service_Flickr_Image | 500 ピクセル版の画像
Large | Zend_Service_Flickr_Image | 640 ピクセル版の画像
Original | Zend_Service_Flickr_Image | 元の画像

クラス一覧に戻る

#### 24.4.4.3. Zend_Service_Flickr_Image

Flickr 検索が返す画像を表します。

##### 24.4.4.3.1. プロパティ

表 24.12. Zend_Service_Flickr_Image のプロパティ

名前 | 型 | 説明
--- | --- | ---
uri | string | 元の画像の URI
clickUri | string | もとの画像 (Flickr のページ) へのリンク用 URI
width | int | 画像の幅
height | int | 画像の高さ

クラス一覧に戻る

前のページ | 上に戻る | 次のページ
24.3. Zend_Service_Amazon | ホーム | 24.5. Zend_Service_Yahoo