Flickr API

書籍”公開API活用ガイド”の第4章:REST APIの処理を読んで実践。

REST APIは、HTTPのメソッド”GET”、”POST”、”DELETE”、”PUT”に対して、XMLで結果を返すタイプのAPIみたい。
他にもタイプがあるのかな?

書籍では、検索用メソッド”flickr.photos.search”を利用し、猫の画像を一覧表示するPHPプログラムを解説していた。このメソッドを使ってパラメータに検索ワードと並び順と取得件数を指定した場合、次のようになるみたい。


http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=&"APIキー"&text="検索ワード"&sort="並び順"&per_page="取得件数"

取得したXMLファイルをPHPのsimplexml_load_file関数でパースする。この関数は先日読んだ書籍で解説していたので見覚えがある。


メモ


フォームに入力した検索ワードを一覧表示するページ
確認:photo.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Flickr API practice</title>
</head>

<body>
<h1>Flickr API sample</h1>
<form action="" method="get">
<input type="text" name="keyword" size="35" maxlength="255" value="" />
<input type="submit" value="search" />
</form>

<?php
function search_flickr($keyword, $limit) {
	$api_key = 'Flickr's API Key';
	$method = 'flickr.photos.search';
	$text = urlencode($keyword);
	$sort = "interestingness-desc";
	$per_page = $limit;

	$url = 'http://api.flickr.com/services/rest/?'.
		'method='.$method.
		'&api_key='.$api_key.
		'&text='.$text.
		'&sort='.$sort.
		'&per_page='.$per_page;

	$data = simplexml_load_file($url) or die("XML Parse Error");

	$size = "_m";
	$ret = "";

	foreach ($data->photos as $photos) {
		foreach ($photos->photo as $photo) {
			$ret .= '<a href="http://www.flickr.com/photos/'.$photo['owner'].'/'.$photo['id'].'/">';
			$ret .= '<img src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].$size.'.jpg" alt="'.$photo['title'].'">'."n";
			$ret .= '</a>';
		}
	}

	return $ret;
}

if (!empty($_REQUEST["keyword"])) {
	$keyword = htmlspecialchars($_REQUEST["keyword"], ENT_QUOTES, 'UTF-8');
	$limit = 10;

	echo search_flickr($keyword, $limit);
}
?>

<p>powered by <a href="http://www.flickr.com/services/api/">Flickr Services</a></p>
</body>

</html>
公開API活用ガイド (I・O BOOKS)
公開API活用ガイド (I・O BOOKS)

posted with amazlet at 12.01.24
ZAPA
工学社
売り上げランキング: 149253

関連エントリー

  1. 楽天ウェブサービス(RWS)を使ってアフィリエイトリンクをつくる(PHP/REST)
  2. TINAMI API
  3. PhoneGapお試し(iOS)
  4. SimpleAPIのWikipedia API
  5. amazon Product Advertising APIで商品一覧を表示する(PHP/JSON)
This entry was posted in 未分類 and tagged , . Bookmark the permalink.