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() は、オプションの
二番目の引数に検索オプションを指定できます。
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() は、オプションの
二番目の引数に設定の配列を指定できます。
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";
tagSearch() あるいは userSearch()
から返されるのは、以下のクラスのいずれかです。
Flickr 検索からの結果セットを表します。
注記
操作性を高めるため、SeekableIterator インターフェイスを実装しています。
これにより、一般的な順次処理 (例えば foreach() など)
だけでなく seek() を使用した特定の結果への直接アクセスも可能です。
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 | 元の画像 |