アクセスキー要らず!!API Testerで 駅すぱあとWebサービスに簡単入門する

ヴァル研究所アドベントカレンダー2018の5日目です。


![EWS_mini.png](https://qiita-image-store.s3.amazonaws.com/0/159912/d4ae3a71-661c-f95f-f255-7ab959c13b60.png)

経路探索サービス「駅すぱあと」の持つ機能や情報をWebAPIで利用できるサービス「駅すぱあとWebサービス」に、簡単に入門できる便利なツールをご紹介します。

# 駅すぱあとWebサービスってなに?
「駅すぱあとWebサービス」は、経路探索サービス「駅すぱあと」の持つ機能や情報をWebAPIで利用できるサービスです。
**経路探索**はもちろん、以下のような機能を簡単に使うことができます。

* 条件を指定した経路探索
* 定期券関連の機能(「定期券を使ったら運賃はXX円」みたいな)
* 範囲探索(「◯◯駅からX分の駅」みたいな)
* 駅や路線の情報の取得(名称、位置、路線など)
* 時刻表の取得
* 鉄道運行情報の取得
などなど

なんでもござれです。
もっと知りたい方は[こちら](https://ekiworld.net/service/lp/webservice/)から

# 簡単に使ってみよう
駅すぱあとWebサービスを使うには

* 無料で一部の機能が使えるフリープラン
* より便利な機能をお手軽に使えるSaaSストアプラン→[こちら](https://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=node%3D5697992051&field-keywords=%E9%A7%85%E3%81%99%E3%81%B1%E3%81%82%E3%81%A8)
* 全ての機能を使えるスタンダードプラン

などいくつかの方法があります。

ここではフリープランから無料で使える2つの機能を試してみましょう。
APIの利用にはキーが必要ですので、[こちら](https://ekiworld.net/free_provision/index.php)からお申し込みください。数営業日以内にキーをお送りします。

<font color="Red">**「えーキー発行がめんどくさい」と思ったそこのあなた!!**</font>

フリープランの[ドキュメントサイト](http://docs.ekispert.com/v1/le/)に[API Tester](http://docs.ekispert.com/v1/le/tools/api-tester/)というツールがあります。このツールではGUIでパラメータを指定し、駅すぱあとWebサービス フリープランのリクエストとレスポンスを確認することができます。しかもキーなしで試すことができます!!

まずはAPI Testerでどんなレスポンスを返すのか確認し、使いたくなったら各プランに申し込んでいただくのが良いでしょう。

## キー要らずで駅すぱあとWebサービスを試してみる
### 駅情報機能
まずは駅情報機能 `/station` を使ってみましょう。
こちらが駅情報機能のAPI Testerです。

<img width="1143" alt="スクリーンショット 2018-12-04 20.46.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/159912/ef199aac-f84a-694d-67a7-db5ece2cdb0a.png">

図に示したようにformatパラメータには`json`を、nameパラメータには`東京`を指定します。そして画面を下へスクロールし「Try it Out!」のボタンをクリックしましょう!!

すると下に色々と情報が出てきます。

<img width="1110" alt="api_tester_02.png" src="https://qiita-image-store.s3.amazonaws.com/0/159912/ae226a8b-64e1-e0b8-1d63-37ace51707b0.png">


Request URLには実際に駅すぱあとWebサービスへ投げたリクエストが入っています。
(実際にブラウザ等から投げたい場合は先述の方法でAPIキーを取得してください)

```
http://api.ekispert.jp/v1/json/station?name=%E6%9D%B1%E4%BA%AC&offset=1&limit=100&direction=up&gcs=tokyo&key={ご自身のアクセスキーを入力してください}
```

Response Bodyには実際に帰ってきたレスポンスが入っています。
例えば`$.ResultSet.max`要素を見れば「東京」で始まる駅が全国に7つあることがわかります。
また`$.ResultSet.Point[0].GeoPoint`要素には東京駅の位置情報が入っています。

こんな感じで簡単に駅の情報を取得することができました。
ここで紹介した以外のリクエスト/レスポンスパラメータは[ドキュメントページ](http://docs.ekispert.com/v1/le/api/station.html)をぜひご覧ください。

以前、この駅情報機能を使って、Vue.jsで駅名インクリメンタルサーチを作るという記事を書いたことがあります。こちらもよろしければどうぞ:grin:
→ [駅名のインクリメンタルサーチができる検索窓をVue.jsで作る](https://qiita.com/kumatira/items/058a9e609658465666b6)
 
### 駅すぱあと for web URL生成機能
続いては[駅すぱあと for web](https://roote.ekispert.net/ja/) で経路探索結果を表示するためのURLを生成する機能を使ってみましょう。このURLへのリンクを皆さんのサイトやサービスに貼ってもらうと、「経路はこちらから!」のように「駅すぱあと for web」の結果画面へ簡単に案内することができます!

では例によって[API Tester](http://docs.ekispert.com/v1/le/tools/api-tester/)へ

<img width="1158" alt="スクリーンショット 2018-12-04 21.07.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/159912/c79cfbc2-d201-dcad-c8f0-bd786eb3ec4d.png">
ここではformatパラメータに`json`、fromとtoのパラメータにそれぞれ高円寺駅と東京駅の駅コード`22671`と`22828`を指定します。
駅コードではなく駅の名称(「東京」「高円寺」のような)でもリクエストできます。しかし駅すぱあとWebサービスでは、駅をより一意に定めるため駅コードの利用を推奨しています。
(駅コードは先ほどの駅情報機能のレスポンスの`$.ResultSet.Point[0].Station.code`から取得できます!!)

これで再度「Try it Out!」

<img width="1122" alt="スクリーンショット 2018-12-04 21.07.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/159912/04ced26a-f01e-4032-bafd-bf3e2673e8a4.png">

Response Bodyに入ったJSONの`$.ResultSet.ResourceURI` になにやら長いアドレスが返って来ました。ブラウザのアドレスバーに入れてみましょう。

<img width="600" alt="スクリーンショット 2018-12-05 15.50.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/159912/99c8e01b-5e3c-4551-16f6-6c9734b81751.png">

確かに高円寺駅から東京駅を経路探索した結果をみることができていますね!!

# まとめ
ということでアクセスキー不要で駅すぱあとWebサービスを試すことができる[API Tester](http://docs.ekispert.com/v1/le/tools/api-tester/)をご紹介しました。

こちらと[フリープランの機能](http://docs.ekispert.com/v1/le/api/)や[スタンダードプランの機能](http://docs.ekispert.com/v1/api/)を見比べ、駅すぱあとWebサービスがどのようなサービスなのか知ってください!!
そしてもし気に入ったらまずはフリープランのアクセスキーを[ゲット](https://ekiworld.net/free_provision/index.php)しましょう!!