(作成中)Web API - データ時代のプログラミングの取っ掛かり

データをどう活用するかが毎日のように言われています。いわゆるエンジニアではない人も苦手意識を持っていると、ついていけなくなる不安もある。

苦手意識は消えないかもしれないが言っていることに全くついていけないとやっぱり不安だし、せっかくのあなたの別の持ち味を生かす機会を失うかもしれません。

そんな方に、Web APIを中心に考えると分かりやすいかもしれません。

僕も以前からデータベースを触ったりとプログラムは仕方なくやっているところがあったのですが、数年前にIoTという言葉が流行りはじめ、プログラムで"モノを動かせる"となると俄然とっつきやすくなったりしました。データを扱うところから入るとモチベーションが高くなるかもしれません。

では、はじめます。

API = Application (アプリケーション)Programming(プログラミング) Interface(インターフェース) の略ですが、ざっくり言うと、

アプリケーション = 便利な物

プログラミング = 時計にアラームをセットする(使い勝手をよくする)

インターフェース = 接点

(*)なお、以降も、分かりやすさ、イメージを重視するため、定義からみると必ずしも正しいとは言えない説明もしますが、まずはとっつけないと始まらないので、イメージを優先させます。

Webやコンピュータに関連する便利なものをさらに使い勝手をよくするための接点。

"APIが用意されている"  = そういう便利な接点が用意されている。

APIが用意されていて、それを利用するイメージ           (例)ブラウザで検索をする

インターネット上に大量にある情報の中で、"api"という文字が含まれている情報を(ランキング)表示させている。

"api"という文字を入力(渡して)、問い合わせ(リクエスト)して、その結果を表示させている。



実際の操作は

https://vimeo.com/256272397   パスワード: apitest


HTTP リクエスト(依頼)に対してHTTPレスポンス(応答)がされている。

APIの使用例を考えていきます。

どんな例かは何に興味があるかで違ってくる。興味があるものに絞ることが大事だけれども、ここでは万人に関係するであろう天気を選びます。

ここがクリエイティビティだったりイノベーションの鍵になります。

世の中にどんな情報があるのか、ありそうなのか、そしてそれを組み合わせる。


雨が降る前に洗濯物を取り込みたい。

天気の情報をチェックしたいが、面倒くさいのでプログラムしよう。発想する。プログラミングは、"何か便利なものをさらに使い勝手をよくする"ものでした


気象情報に関するAPIはあるのか検索してみると、Yahoo!が提供しています。

ページの中には


これがどういうものかというと

指定した緯度・経度の雨の強度を60分後までの予測値を取得できます。


どうやって使うかというとサンプルが書いてあります。


"api"という文字を渡して結果を返してもらいましたが、今度は、緯度・経度を渡して降水強度の予測値というデータを返してもらうという流れになります。

実際にブラウザに入れてみると、

これはXML形式で表示されたものです。ちょっと面食らうかもしれませんが、よくみると、日時とRainfallという単語が見えます。

Firefoxのブラウザを使っています。

JSONの形式で表示させて見ます。このURLの?マークの所にoutput=json&と入力してエンターを押すとJSON形式の結果が出てきます。

これは見やすいように整形されて表示されています。



実は、本当の生データはこの生データの方で、こういう羅列になっています。

日時と降水強度の値が表示されているのが分かります。取得できているということなんですが、


これはブラウザに入力して表示させていたんですが、これではまだなんの省力化にもなっていません。

そこで、人間が入力していたのをプログラムにさせる段階に入ります。



この記事が気に入ったらサポートをしてみませんか?