CData Software Blog

クラウド連携のCData Software の技術ブログです。

CData Driver で楽楽精算APIに接続し、各種仕訳データを取得する方法

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回は導入社数国内最多の経費精算システムである「楽楽精算」のAPIをCData Driverから利用する方法を紹介したいと思います。

楽楽精算とは?

楽楽精算は 経費・交通費・出張費・旅費・交際費など、お金にかかわる全ての処理を 一元管理できるクラウド型の交通費・経費精算システムです。

https://rakuraku-partner.jp/lp/agent01.php

f:id:sugimomoto:20200309143202p:plain

楽楽精算ではAPI連携機能が提供されています。

今回は「仕訳データを出力するAPI」を使って、CData Driverと連携させてみました。

シナリオ

CData Driverは様々なツールとの接続をサポートしていますが、今回の記事では、CData CSV ODBC Driverを使って、楽楽精算APIからシームレスに仕訳データを取得し、MS Accessに取り込む方法を紹介します。

必要なもの

APIトークン の取得

楽楽精算APIに接続するためにAPIトークンが必要となります。楽楽精算にて予め取得しておいてください。

自動出力設定

次にAPIで仕訳データを取得するための自動ファイル出力の設定を楽楽精算で行っておきます。

CData CSV ODBC Driver のインストール

楽楽精算APIへの接続には CData CSV ODBC Driver で接続します。

通常、CData CSV ODBC Driver はCSVを読み取り、SQLで実行できるようにするDriver・コネクタですが、各種APIから取得できるCSVにも対応できるようになっています。

まず、以下のURLからトライアル版をダウンロードします。

https://www.cdata.com/jp/drivers/csv/odbc/

f:id:sugimomoto:20200218120113p:plain

ダウンロード後、セットアップを行うと、

f:id:sugimomoto:20200218120122p:plain

ODBC DSNの構成画面が表示されるので、以下のプロパティを設定します。

  • URI=[楽楽精算のAPI URLを指定します];
  • CustomHeaders="X-RS-apitoken:[APIトークンを指定します]";
  • Other=charset=Shift-JIS;

なお、今回はAccessからの接続のため、以下のプロパティも追加しています。これはAccessが文字列として受け付けないカラム名があるための措置です。

  • HDR=No;
  • SkipTop=1;

f:id:sugimomoto:20200218120127p:plain

設定後、接続テストをクリックして問題なければ保存します。

Accessのリンクテーブルから接続

それでは Access から接続してみましょう。

「外部データ」タブの新しいデータソースから「ODBCデータベース」を選択します。

f:id:sugimomoto:20200218120133p:plain

「リンクテーブルを作成してソース データにリンクする」をクリックし

f:id:sugimomoto:20200218120137p:plain

先程作成したDSN「CData CSV Source」を選択します。

f:id:sugimomoto:20200218120142p:plain

あとは、以下のテーブルを選択の上

f:id:sugimomoto:20200218120146p:plain

固有レコード識別子はデフォルト状態で進めれば

f:id:sugimomoto:20200218120151p:plain

以下のように楽楽精算APIから取得したデータをシームレスにAccess上で参照することが可能です。

このデータは定期的に楽楽精算が更新するので、Access側のマクロなどで自動処理を登録しておくとより便利に活用できると思います。

f:id:sugimomoto:20200218120157p:plain

おわりに

今回はAccessからの接続を試してみましたが、CData ODBC Driverは様々なツールの接続をサポートしています。

以下のURLの記事も是非参考にしてみてください。

https://www.cdata.com/jp/drivers/csv/

f:id:sugimomoto:20200218120203p:plain