第4回 写真を表示するAPIを使ってみる - マッシュアップ講座

ZAPA先生のマッシュアップ講座

Lecutures on PHP

第4回 写真を表示するAPIを使ってみる (その1)

 このエントリーをはてなブックマークに追加

フォト蔵の写真を表示する

ブロードバンドの普及に伴い、写真や動画といった大容量のマルチメディアコンテンツを効率的に共有することが可能になりました。そこで、今回は写真を表示するAPIの利用方法、次回は動画ファイルを表示するAPIの利用方法を解説します。 それでは、写真共有サイト「フォト蔵」(*1)のフォト蔵API(β版) (*2)を使ってみましょう。フォト蔵のAPIは、メソッドごとにURLが決まっていて、それぞれのURLに対してHTTP GET/POSTリクエストを使用してアクセスします。APIのURL形式は次のようになります。

http://api.photozou.jp/rest/メソッド名

ここでは、インターネットに公開されている写真/動画を検索する「search_publicメソッド」を使って写真を検索します。ベースURLは以下の通りで、これにパラメータを加えることで指定した写真を検索することができます。

http://api.photozou.jp/rest/search_public

このメソッドのパラメータに関しては、http://photozou.jp/basic/api_method_search_publicのページに詳しく載っています。

ZAPA先生
では、今回はサンプルとして、「秋葉原」の写真を最大10枚表示するプログラムを作成してみます(コードの解説にはPHP5のSimpleXML関数を利用します。PHP4を利用している方は、前回説明した正規表現に置き換えて試してみて下さい)。今回はphotozou()という関数を作り、検索キーワードと最大表示件数を指定することで、HTMLタグを生成して返すようにしています。利用方法は以下のようになります。

echo photozou($keyword,$limit);

$keywordには、日本語のキーワードをそのまま指定して利用できるようにするため、photozou関数内で以下のように検索キーワードをURLエンコードしてAPIにアクセスしています。

//XMLデータ取得用ベースURL
$req = "http://api.photozou.jp/rest/search_public";
	
//XMLデータ取得用リクエストURL生成
$req .= "?type=photo&keyword=".urlencode($keyword)."&limit=".$limit;

ZAPA先生これで、指定したキーワードで画像を検索することができます。なお、ここでは写真を検索するためにtypeパラメータにはphotoを指定しています。XMLファイルをパースし、オブジェクトを取得してから表示するまでの流れは、前回での解説とほとんど同じになります。取得するXMLの形式は違いますが、フォト蔵APIのマニュアルを読めば容易に対応することができるでしょう。あるいは、実際にXML データ取得用のリクエストURL に対してWeb ブラウザからアクセスしてXML を表示させたり、XML ファイルをパースしたXML オブジェクトをvar_dump 関数で表示させたりすることでも確認することができます。

----
*1):http://photozou.jp/
*2):http://photozou.jp/basic/api

  • 1
  • 2

  



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)

Q&A掲示板 新着情報