Postmanを使ってAPIを叩いてみる
最近はREST APIを公開しているサービスやソフトウェアが増えてきてますね。
REST , JSON , Python , XML , PHPあたりは用語として押さえておきたいところです。
最近、BIG-IPのiControlまわりを少しづつ触り始めてまして、手始めに、
livedoor天気とPostmanを使ってAPIを使った簡単なWEBを作ってみたいと思います。
PostmanはGoogle Chromeのアドオン、WEBアプリです。
まずは以下からダウンロードしてインストールを進めてください。
Postman - A powerful HTTP client to test web services
起動するとURLを入力する場所があると思いますので、そこまで確認したらAPIを
提供している側の情報を確認します。
今回は冒頭に記載した通り、livedoor 天気情報を取得したいと思います。
以下を見ればなんとなくわかると思いますが、データフォーマットはJSON形式です。
お天気Webサービス仕様 - Weather Hacks - livedoor 天気情報
JSONデータをリクエストする際のベースとなるURLは以下になります。
http://weather.livedoor.com/forecast/webservice/json/v1
このURLに下の表のパラメータを加え、実際にリクエストします。
この情報を元に、早速Postmanに入れてみます。
URL部分に先ほどのlivedoor天気で公開されているURLを入力します。
あとはパラメータとして"city=230010"を入れてます。
では、Sendボタンを押してみましょう。
問題なければ200 OKでパラメータが返ってくるかと思います。形式はJSONです。
上部はcityで指定した愛知県の都市ごとの天気予報ページが返ってきてます。
肝心のデータは下へページをスクロールすると、forecast -> dateLabelが今日の部分にありますね。
forecasts: [
-{
- dateLabel: "今日"
- telop: "晴れ"
- date: "2014-05-24"
-temperature: {
- min: null
-max: {
- celsius: "27"
- fahrenheit: "80.6"
2014/5/24 今日の天気は晴れ。最高気温は摂氏27度で華氏もついてきてますね。
同様に明日の情報も返ってきてます。
なんだか天気予報アプリの裏側を見た気分ですね。
簡単ですよね?あとはこの情報を元に自身のサイトに表示できるようにします。
今回はPHPを使いたいと思います。こちらの検証環境ではApacheのデフォルトパスを使用しているので、
/var/www/html/の配下にAPI-testフォルダを作成して、otenki_simple.phpを作成します。
中身は非常に簡単で、指定した地域の今日の天気とアイコンを表示するのみです。
$ cat otenki_simple.php
<?php
$tmp_url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=230010";
$json = file_get_contents($tmp_url,true) or die("Failed to get json");
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$img_url = $obj->forecasts[0]->image->url;
$date = $obj->forecasts[0]->date;
$title = $obj->forecasts[0]->image->title;
?>
<h1>愛知県の天気</h1>
<div>
<p> TODAY : <?php echo $date;?></p>
<p> <?php echo "<img src='".$img_url."'>"; ?> <?php echo $title; ?></p>
<p> copyright <a href="http://weather.livedoor.com/">livedoor 天気情報</a>'</p>
</div>
早速、ファイルを作成して保存します。タイトルは面倒だったのでそのまま愛知県と記載してますが、Location->cityから取ってきてもOKでです。forcast[1]で明日の情報も取れますし、気温情報をつけてもいいですね。今回はそれが目的ではないので割愛します。
どうでしょうか。なんとなくAPIって何?って方もイメージはつきましたか?
TwitterもAPIを公開しているので触ってみると天気より面白く勉強できそうですね。
Twitter API ポケットリファレンス (POCKET REFERENCE)
次は実践編ということで、BIG-IPかNexus1000Vのステータス取得や設定追加をやってみたと思います。
- 作者: たにぐちまこと
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2010/09/14
- メディア: 単行本(ソフトカバー)
- 購入: 43人 クリック: 1,002回
- この商品を含むブログ (53件) を見る
シェアして頂けると嬉しいです。 もし参考になったよという方がいれば是非お願いします。モチベーション維持の観点で非常に励みになります。