APIを使ってみて理解する(お天気API編) | 瀬戸内の雲のように

APIを使ってみて理解する(お天気API編)

Posted: 2019-01-17


スポンサーリンク

目次

はじめに

これまで当ブログでは以下のような記事でウェブAPIの概要やトレンドであるREST APIについて説明してきました。

関連記事: APIとは何か?をできる限りわかりやすく説明したい
関連記事: REST APIとは何か?をできる限りわかりやすく説明したい

しかし、これらの記事を読んでも 「なんとなくわかった気はするけど、理解できているか不安」という方がいらっしゃるかと思います。

そんな時は実際に使ってみるのが一番です。百聞は一見にしかずです。
ということで、今回は実際に一般公開されているサービスのAPIを使ってみたいと思います。

 

準備するもの

・ウェブブラウザ(chromeやFirefox)
・(可能であれば)以下コマンドが使えるlinux環境
 ・curl
 ・jq

 

使うAPI

今回は Weather Hacks お天気Webサービス仕様 のAPIを使います。
最近ではいろんなサービスでAPIが公開されていますが、だいたい会員登録が必要だったりで少し手間がかかりますが、このAPIは登録不要なので準備が簡単です。

 

実際に使ってみる

早速ですが、東京のお天気を見てみます。

ブラウザで開く

以下のURLをブラウザで開いてください。

http://weather.livedoor.com/forecast/webservice/json/v1?city=130010

(コピペ用)

http://weather.livedoor.com/forecast/webservice/json/v1?city=130010

 
ブラウザに以下のような文字ばっかりの画面が表示されれば成功です。

picture

これは APIをコールし、jsonのレスポンスが返ってきた という状態です。

こちらの記事 でも説明したとおり、ウェブAPIというのは

  • HTTPを使ってやりとりし、
  • 機械が理解しやすい形式(json,XML等)で情報を表現している

ものです。ですので、HTTPで通信するウェブブラウザでアクセスすれば、jsonが返ってきた ということです。

 

jsonを整形する

とはいえ、このままでは何が表示されているかさっぱりです。
ということで こちらのjson整形サービス に表示内容をコピペしてみましょう。

一番下のほうまでスクロールすると、

title:東京都 東京 の天気
 description: {
  text: 日本付近は冬型の気圧配置となっています。 【関東甲信地方】 関東甲信地方は、おおむね晴れていますが、長野県や関東地方北部の山沿 いでは雪の降っている所があります。 18日は、冬型の気圧配置が続くため、おおむね晴れますが、長野県や関 東地方北部の山沿いでは曇りで雪の降る所があるでしょう。 19日は、冬型の気圧配置が緩み、高気圧に覆われてくるため、おおむね 晴れるでしょう。 関東近海では、19日にかけて波が高い見込みです。船舶は高波に注意し てください。 【東京地方】 19日にかけて、晴れるでしょう。
  publicTime:2019-01-18T04:43:00+0900
 }
}

という表示が見えているかと思います。

ちなみに、この情報はGUIでも見ることができます。 こちら を見ると、同じことが書いているかと思います。

このように、APIとGUIとの違いとは

情報をjsonやXMLなど機械処理しやすい形式で表現しているだけ

ということがご理解頂けたかと思います。

 

Linux環境でAPIを実行する

先程は理解のためにブラウザでAPIを実行しました。
しかし実際の利用シーンにおいてはブラウザを使うことは無いかと思います。

ということで、次はより実際の利用シーンに近い Linuxのコマンドラインから APIを実行してみます。

 
以下コマンドを実行してみてください。

curl -X GET http://weather.livedoor.com/forecast/webservice/json/v1?city=130010 | jq "."

先程の内容と同じものがCLI上に表示されたかと思います。

 

まとめ

ということで、実際にAPIを使ってみました。
実際にGUIと比較することで APIとはインターフェイスの一つで、情報の表現方法が機械向け(json, XML)である だけのことということがわかって頂けたかと思います。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back