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

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

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 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. ファイルを保存