29.6. Zend_Service_Flickr

29.6.1. Flickr 検索の導入

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

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

例 29.24. 単純な 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() は、オプションの 二番目の引数に検索オプションを指定することができます。

29.6.2. Flickr ユーザの写真や情報の検索

Zend_Service_Flickr では、いくつかの方法で Flickr ユーザについての情報を取得することができます。

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

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

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

例 29.25. メールアドレスからの 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 />';
}
?>       

29.6.3. Flickr 画像の詳細の取得

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

例 29.26. 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";
?>

29.6.4. Zend_Service_Flickr 結果クラス群

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

29.6.4.1. Zend_Service_Flickr_ResultSet

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

[注意] 注意

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

29.6.4.1.1. プロパティ

表 29.12. Zend_Service_Flickr_ResultSet のプロパティ

名前 説明
totalResultsAvailable int 使用可能な結果の総数
totalResultsReturned int 返された結果の総数
firstResultPosition int すべての結果セットの中でのこの結果セットの位置
29.6.4.1.2. Zend_Service_Flickr_ResultSet::totalResults()

int totalResults();

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

クラス一覧に戻る

29.6.4.2. Zend_Service_Flickr_Result

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

29.6.4.2.1. プロパティ

表 29.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 100 ピクセルの、画像のサムネイル
Small Zend_Service_Flickr_Image 240 ピクセル版の画像
Medium Zend_Service_Flickr_Image 500 ピクセル版の画像
Large Zend_Service_Flickr_Image 640 ピクセル版の画像
Original Zend_Service_Flickr_Image 元の画像

クラス一覧に戻る

29.6.4.3. Zend_Service_Flickr_Image

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

29.6.4.3.1. プロパティ

表 29.14. Zend_Service_Flickr_Image のプロパティ

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

クラス一覧に戻る