Zend_Service_Flickr(日本語)

導入

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

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

例785 単純な Flickr 検索

$flickr = new Zend_Service_Flickr('MY_API_KEY');

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

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

オプションのパラメータ

tagSearch() は、オプションの 二番目の引数に検索オプションを指定できます。

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

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

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

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

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

例786 メールアドレスからの Flickr ユーザの公開している写真の検索

この例では、メールアドレスがわかっている Flickr ユーザが公開している写真を userSearch() メソッドを用いて探します。

$flickr = new Zend_Service_Flickr('MY_API_KEY');

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

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

グループプールからの写真の検索

Zend_Service_Flickr は、 グループにプールされている写真をグループ ID を指定して取得できます。 groupPoolGetPhotos() メソッドを使用します。

例787 グループ ID を指定し、グループにプールされている写真を取得する

$flickr = new Zend_Service_Flickr('MY_API_KEY');

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

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

オプションのパラメータ

groupPoolGetPhotos() は、オプションの 二番目の引数に設定の配列を指定できます。

Flickr 画像の詳細の取得

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

例788 Flickr 画像の詳細の取得

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

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

Zend_Service_Flickr 結果クラス群

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

Zend_Service_Flickr_ResultSet

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

注記

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

プロパティ

表151 Zend_Service_Flickr_ResultSet のプロパティ

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

Zend_Service_Flickr_ResultSet::totalResults()

int totalResults();

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

クラス一覧に戻る

Zend_Service_Flickr_Result

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

プロパティ

表152 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 元の画像

クラス一覧に戻る

Zend_Service_Flickr_Image

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

プロパティ

表153 Zend_Service_Flickr_Image のプロパティ

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

クラス一覧に戻る