まずはnginxでプロキシしてみる。
まずはwww.sfpgmr.netで動かしているnginxに設定を入れてみることにした。/metro-api/(APIKeyなしのAPIパラメータ)
で呼び出すと、東京メトロAPIサーバーに対してnginxがAPIを呼び出し、受け取ったデータをクライアントに返すようにする。その際APIKeyを付加して呼び出すようにする。
serverディレクティブに以下のlocationディレクティブを追加するとうまく呼び出すことはできた。
location /metro-api/ {
set $args $args&acl:consumerKey=(APIKEY);
rewrite ^/metro-api/(.*)$ /api/$1 break;
proxy_pass https://api.tokyometroapp.jp/;
}
さてどのようなものを作るか
これができることをチェックしたあと、どのようなものを作ろうか考えた。が、いつも通りアイデアが浮かばない。とりあえずは静的HTMLでAPIの列車ロケーション情報をSVGでプロットしてみることにした。nodeで一定間隔でAPIを呼び出し、路線図上に列車位置をマーキングしてそれを静的HTMLを作成するのである。これをcronかなんかで一定間隔で実行すればまあいいかなと。
この仕様だとnginxでわざわざプロキシする意味もなく、nodeからダイレクトにAPIを呼び出せばよいのでそうすることにした。
東京メトロAPIを呼び出してみる
そうは言ってもJSON-LDやSVGもまったくの門外漢だし、nodeでもまともなものは作ったことはないからサクッとは作れない。まずは東京メトロAPIを呼び出してみることにした。それが以下のコードである。
とりあえず呼び出すことはできたので、次はこのデータをベースに静的HTML化することにする。下のサンプルも参考にしよう。
次はd3.jsで何か可視化できる成果物がお見せできればいいのだが、そこまでいけるかどうか。。。