Upgrade to Pro — share decks privately, control downloads, hide ads and more …

kintoneで楽々交通費精算!駅すぱあとWebサービス連携ハンズオン

 kintoneで楽々交通費精算!駅すぱあとWebサービス連携ハンズオン

Avatar for kintone papers

kintone papers

August 02, 2018
Tweet

More Decks by kintone papers

Other Decks in Programming

Transcript

  1. 本日のアジェンダ • kintoneで交通費精算アプリを作ろう - 概要 • 駅すぱあとWebサービスとは? • ハンズオン 1.

    アプリテンプレートを読み込もう 2. 定期券を利用した運賃計算をしよう 3. 探索条件設定ボタンを追加しよう 4. 経路を再現する機能を追加しよう
  2. 駅すぱあとWebサービス 駅データ、経路検索のWebAPI 駅すぱあとが持つ機能を WebAPIとして提供 • • • • 技術的なポイント RESTfu(風)

    レスポンスはXML or JSON リファレンスはWebで公開 サンプルはGithubで公開 • • 利用シーン 乗換案内サービス 旅費交通費精算システム • • 選べる2つのプラン 無料で使えるフリープラン 全ての機能が使えるスタンダードプラン
  3. 駅データ、経路検索のWebAPI 駅すぱあとWebサービス 駅すぱあとが持つ機能を WebAPIとして提供 技術的なポイント 利用シーン • RESTfu(風) • レスポンスはXML

    or JSON • 乗換案内サービス • 通勤費管理システム • リファレンスはWebで公開 • 旅費交通費精算システム • サンプルはGithubで公開 今回のハンズオンでは スタンダードプランの機能を利用します 駅すぱあとWebサービスのスタンダードプラン は 90日間無料でお試しできま す お申し込みはこちら↓ https://ekiworld.net/trial/index.php?case=6
  4. 1. 自分の環境でアプリが動く状態にしよう ZIPファイルのダウンロード handson/ ├── 1 │ ├── ekispert.js │

    └── 交通費申請アプリ.zip ├── 3 │ ├── ekispert.js │ └── expGuiCondition │ │ │ ├── expCss │ └── expGuiCondition.css ├── expGuiCondition.js │ └── expImages └── 4 ├── ekispert.js ├── ekispertDetail.js └── 交通費申請詳細アプリ.zip ZIPファイルの中身の ディレクトリ構成です
  5. 1. 自分の環境でアプリが動く状態にしよう ZIPファイルの構成 handson/ ├── 1 │ ├── ekispert.js │

    └── 交通費申請アプリ.zip ├── 3 │ ├── ekispert.js │ └── expGuiCondition │ │ │ ├── expCss │ └── expGuiCondition.css ├── expGuiCondition.js │ └── expImages └── 4 ├── ekispert.js ├── ekispertDetail.js └── 交通費申請詳細アプリ.zip 次の工程で 「交通費申請アプリ.zip」 を利用します
  6. 1. 自分の環境でアプリが動く状態にしよう 補足 ブラウザの開発者ツール (WinならF12, macOSならOption + Command + i)

    を 立ち上げた状態でアプリを動かすと・・・ なにやら画像が読み込まれていないというエラーが
  7. 2. 定期券を利用した運賃計算をしよう APIの仕様 経 路 探 索 API の リ

    ク エ ス ト 例 : https://api.ekispert.jp/v1/json/search/course/ extreme? key=ajawaANhL9RWERyT&viaList=22905:22884& date=20180720&searchType=plain
  8. 2. 定期券を利用した運賃計算をしよう APIの仕様 ブラウザから ア クセスしてみよう https://api.ekispert.jp/v1/json/search/course/extreme? key=xxx&viaList=22905:22884&date=20180720&searc hType=plain JSONデータのレスポンスが見づらい?

    kintoneアプリ内で実際に叩いているのはさっきのURLですが XMLデータの方が見やすいかもなので ここからはXMLデータで説明しますね ※データフォーマットが異なるだけで中身は同じです https://api.ekispert.jp/v1/xml/search/course/extreme? key=ajawaANhL9RWERyT&viaList=22905:22884&date=2 0180720&searchType=plain
  9. 2. 定期券を利用した運賃計算をしよう APIの仕様 データフォーマット: XML or JSONが指定できます APIの機能: 交通費精算アプリの裏側では 駅簡易情報API(/station/light)

    経路探索API(/search/course/extreme) などが利用されています https://api.ekispert.jp/v1/xml/search/course/extreme? key=ajawaANhL9RWERyT&viaList=22905:22884&date=20180 720&searchType=plain クエリパラメータ: key 駅すぱあとWebサービスのアクセスキー viaList 出発地、経由地、到着地 date 探索日(YYYYMMDD) searchType 探索種別
  10. handson/ ├── 1 │ ├── ekispert.js │ └── 交通費申請アプリ.zip ├──

    3 │ ├── ekispert.js │ └── expGuiCondition │ │ │ ├── expCss │ └── expGuiCondition.css ├── expGuiCondition.js │ └── expImages └── 4 ├── ekispert.js ├── ekispertDetail.js └── 交通費申請詳細アプリ.zip 次の工程で 「ekispert.js」と 「expGuiCondition」ディレクトリを 利用します 3. 探索条件設定ボタンを追加しよう ZIPファイルの構成
  11. 補足 handson/ ├── 1 │ ├── ekispert.js │ └── 交通費申請アプリ.zip

    ├── 3 │ ├── ekispert.js │ └── expGuiCondition │ │ │ ├── expCss │ └── expGuiCondition.css ├── expGuiCondition.js │ └── expImages └── 4 ├── ekispert.js ├── ekispertDetail.js └── 交通費申請詳細アプリ.zip このファイル群は一体何? 3. 探索条件設定ボタンを追加しよう
  12. handson/ ├── 1 │ ├── ekispert.js │ └── 交通費申請アプリ.zip ├──

    3 │ ├── ekispert.js │ └── expGuiCondition │ │ │ ├── expCss │ └── expGuiCondition.css ├── expGuiCondition.js │ └── expImages └── 4 ├── ekispertDetail.js ├── ekispert.js └── 交通費申請詳細アプリ.zip 次の工程で 「ekispert.js」と 「交通費申請詳細アプリ.zip」 を利用します 4. 経路を再現する機能を追加しよう ZIPファイルの構成
  13. 4. 経路を再現する機能を追加しよう JavaScriptファイルの編集 1. /path/to/handson/4/ekispert.jsファイルを エ ディタ等で開きます (function($) { "use

    strict"; // 駅すぱあとWebサービスのアクセスキ ー var ekispertAccessKey = // 交通費申請詳細アプリID var detailAppId = ''; 'ajawaANhL9RWERyT'; 2. 交通費申請詳細アプリの アプリIDを入力します 3. ファイルを保存