Office関連

Excel 2013で駅すぱあとWebサービス APIの「経路探索」を使ってみました。

「駅すぱあとWebサービス API無償提供」を利用してみました。」で、駅すぱあとWebサービス APIを紹介しましたが、Twitterでサポートの方からAPIの使い方を公開しても良いとの話を伺いましたので、早速Excelから本APIを利用する方法を紹介します。

※ 本API(法人向け)を利用するには認証(API)キーが必須になりますので、まずはこちらのページから申し込みをして、キーを受け取ってください。

本APIを利用すると、駅や路線、運行会社の情報などを取得できるのですが、今回はRooteで探索結果を表示するためのURLを取得する「経路探索」を使用してみます。

■ リクエスト先

http://api.ekispert.com/v1/xml/search/course/light?key=(認証キー)

■ リクエストパラメーター(2013/10/4 時点の情報)

名称 データ型 説明
from string 出発駅(地)。駅コード(または駅名称)を指定可能です
to string 到着駅(地)。駅コード(または駅名称)を指定可能です
via string 経由駅(地)。駅コード(または駅名称)を指定可能です (省略可。省略時は指定なしとなります)
date int 探索日付(YYYYMMDD) (省略可。省略時は現在日付となります)
time int 探索時刻(HHMM) (省略可。省略時は現在時刻となります)
searchType string 探索種別 (省略可。省略された場合は、発時刻探索となります)
plane string 飛行機。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
shinkansen string 新幹線(のぞみ含む)。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
limitedExpress string 特急。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
bus string バス(路線バス・高速バス)。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
redirect string 結果をリダイレクトするかどうか。リダイレクトする:true, リダイレクトせずURL文字列を返す:false (省略可。省略時はリダイレクトせずURL文字列を返します)

Webサービスドキュメント – API – API仕様 – 探索 より

■ レスポンス例(XML)

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.9.0.0" engineVersion="201309_03a">
  <ResourceURI>http://roote.ekispert.net/result?dep_code=22828&amp;arr_code=28626&amp;via1_code=&amp;yyyymmdd=20131001&amp;hour=13&amp;minute=15&amp;type=dep&amp;local=true&amp;highway=true&amp;dep=&amp;arr=&amp;via1=&amp;via2=&amp;via2_code=&amp;connect=true&amp;liner=true&amp;ship=true&amp;sleep=false&amp;surcharge=3&amp;sort=time</ResourceURI>
</ResultSet>

※ APIの詳細な利用方法は、ドキュメント(認証キーが記載されたメールに、キーと一緒にリンクが記載されています)に書かれているので、そちらを参照してください。

リクエストパラメーターは上記の通りで、今回は「from」(出発駅)「to」(到着駅)「date」(日付)「time」(時刻)を使用します。

各値はセルで指定することにして、とりあえず今回は下記セルを使います。

・認証キー:セルC2
・出発駅:セルC4
・到着駅:セルD4
・日付:セルE4
・時刻:セルF4

ExcelからWeb APIを利用するときに使う関数は、当ブログでも散々紹介している「WEBSERVICE」関数で、出発駅と到着駅には日本語が含まれるので「ENCODEURL」関数も合わせて使います。

・セルC6:

WEBSERVICE関数で取得したXMLデータから任意の値を抽出するには「FILTERXML」関数を使います。

・セルC7:

Rooteの結果URLが抜き出せたので、「HYPERLINK」関数を使ってリンクを設定します。

・セルC8:

Ekispert_02_01

上記関数を一つにまとめると、下記のようになります。

・セルG4:

Ekispert_02_02

エラー処理は入れていないので実用上は問題ありますが、Excel 2013で追加されたWEB関数と駅すぱあとWebサービス APIを使うと、上記のように簡単に路線探索が行えるようになります。

探索結果を直接XMLやJSONで取得したり、定期情報や時刻表を取得したりするには有償版が必要になりますが、無償版だけでも十分便利です!

関連記事

  1. アイコン一覧

    Office 365アイコン(imageMso)一覧(K,L)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  2. Office関連

    日本語の文法上の誤りを列挙して修正候補をコメントとして追加するWordマクロ

    前回の記事の関連で、今度は日本語の文法上の誤りを列挙して修正候補をコメ…

  3. Office関連

    [Outlook]仕分けルールでスクリプト(マクロ)を実行する。

    Msdn フォーラムにあった質問関連でメモを残しておきます。…

  4. Office関連

    Office 365 unified APIをJavaScriptだけで呼び出す

    Microsoftの松崎さんのブログに下記の記事がありました。…

  5. Office関連

    Office 365 Soloをインストールしみてました。

    2014年10月17日、Microsoftの新しいOffice製品「O…

  6. Office関連

    ExcelのWebクエリからのアクセス情報

    mougに面白い質問がありました。・Querytables.a…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP