CData Software Blog

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

クラウド会計のfreee のデータをDataSpider からPostgreSQL に出力する

こんにちは。マーケティング担当の對馬です。本記事ではクラウド会計のfreee のデータをETL ツールであるDataSpider で利用する方法をご紹介します。

freee は経理業務をブラウザ画面で行えるクラウド会計ソフトです。 複雑な経理業務が画面操作でできるため、業務効率化の力になる注目のSaaS です。

www.freee.co.jp

また、DataSpider はデータ連携基盤として利用されており、種類豊富な接続アダプタが用意されています。

www.hulft.com

freee のようにDataSpider が標準で搭載していない接続先に関しても、CData Driver と組み合わせることによって接続可能となります。DataSpider で開発した連携フローにおいてfreee のデータを利用できるようになるため、データの加工やその他データとのマージ、出力までをDataSpider 上で管理することができます。

今回はfreee 会計のデータをDataSpider から取得し、PostgreSQL に格納していきたいと思います。

用意するもの

  • freee 会計
  • DataSpider Servista
  • CData API Driver for JDBC
  • freee API Profile

freee 事前準備

freee 会計のAPI を利用するため、アプリ登録をします。

app.secure.freee.co.jp

アプリ設定

アプリ詳細画面より[基本情報]で外部連携のための情報を設定、取得できます。

コールバックURL には、http://localhost:33333 と設定します。

「Client ID」と「Client Secret」の情報も、接続時に必要となるため控えておいてください。

[権限設定]タブでは、freee アプリへのアクセス許可を設定します。

事業所ID の取得

freee API でデータを取得する際には、「事業所ID」が必要です。

developer.freee.co.jp

事業所ID はAPI での取得となりますが、以下リファレンスページからも取得できます。事業所ID を入手しておきます。

developer.freee.co.jp

CData API Driver

CData Driver からfreee への接続には、汎用のAPI Driver と接続定義ファイルのAPI Profile が必要です。

freee API Profile のダウンロード

まずは、freee のAPI Profile を取得します。

www.cdata.com

今回はfreee 会計のデータを利用したいので、freee Accounting API Profile をダウンロードします。

https://www.cdata.com/jp/download/profiles/?id=freee

freee.apip ファイルがダウンロードできます。

CData API Driver のインストール

続いて、API Driver をダウンロードします。

www.cdata.com

今回はDataSpider で読み取るため、API Driver for JDBC をダウンロードします。 CData Driver は1か月の無償トライアルがあります。 「ダウンロード評価版」からダウンロード可能です。

ダウンロードしたexe ファイルを実行します。内容を確認しながら画面に沿って進め、インストールします。

ファイルの配置

インストールしたAPI Driver のjar ファイルとlic ファイルを、DataSpider インストールフォルダに配置します。

配置元ディレクト

Driver インストールディレクトリ\CData\CData JDBC Driver for API 2021J\lib

ファイル

  • cdata.jdbc.surveymonkey.jar
  • cdata.jdbc.surveymonkey.lic

配置先ディレクト

DataSpiderインストールディレクトリ\DataSpiderServista\server\plugin\data_processing\modules\jdbc_adapter

接続文字列の取得

freee 接続時に必要な接続文字列を取得します。

DataSpider インストールディレクトリ内に移動した「cdata.jdbc.api.jar」ファイルをダブルクリックします。 コネクションビルダーが開きます。

接続に必要な情報を入力すると、下部に接続文字列が表示されます。

設定内容は以下です。

設定 内容
InitiateOAuth GETANDREFRESH
OAuthClientId ClientId
OAuthClientSecret ClientSecret
CallbackURL freee アプリで設定したコールバックURL
AuthScheme OAuth
Profile apipファイルパス
ProfileSettings companyid=事業所ID

[接続テスト]を押下します。

アクセス許可画面が開かれ、[許可する]を選択します。

接続完了です。

DataSpider での設定

DataSpider で連携処理を開発します。

DataSpider Server を起動し、DataSpider Studio を起動します。

接続設定

外部連携の接続を設定します。

freee 接続設定

まずはfreee への接続設定を作成します。

[コントロールパネル] > [グローバルリソースの設定] > [新しいグローバルリソースの作成]を選択します。

リソースの種類がカテゴリで分かれているので、[データベース]タブから[JDBC]を開きます。 JDBC 接続のアイコンが表示されるので、アイコンをクリックします。

接続の設定画面が開かれます。

接続に必要な情報を入力します。

DataSpider 設定名 設定内容
ドライバクラス cdata.jdbc.api.APIDriver
URL 先ほど取得した接続文字列

入力が終わりましたら[接続テスト]ボタンを押下し、正常に接続できるか確認します。

[OK]ボタンで設定内容を保存します。

PostgreSQL 接続設定

PostgreSQL 接続への接続情報を設定します。

[グローバルリソースの作成]より[データベース]タブ > [PostgreSQL]を開きます。 接続するバージョンのアイコンをクリックします。

接続の設定画面が開かれます。 必要な情報を入力します。

DataSpider設定名 設定内容
ホスト名 localhost
ポート番号 デフォルトで5432
データベース名 接続するデータベース名
ユーザ名 ユーザー名
パスワード パスワード

入力が終わりましたら、[接続テスト]ボタンで正常に接続できるか確認します。

[OK]ボタンで設定内容を保存します。

連携フロー作成

新規プロジェクトを作成し、連携処理を作ります。

freee データ取得処理

freee データを取得する処理を作成します。

右側[ツールパレット]より、[データベース] > [JDBC] > [テーブル読み取り]アイコンを中央画面にドラッグアンドドロップします。

テーブル読み取り処理設定画面が開かれます。 必要な情報をドロップダウンで設定します。今回はfreee の「DealDetails」(取引一覧)を取得します。

DataSpider設定名 設定内容
接続先 作成したfreee 接続設定名
テーブル名 取得するテーブル名

テーブル名を指定するとスキーマ定義が表示されます。 読み取り対象を選択することが可能です。今回はこのままで全データを取得します。

[OK]ボタンを押下し、設定内容を保存します。

PostgreSQL 書き込み処理

PostgreSQL に書き込む処理を作成します。

[ツールパレット] > [データベース] > [PostgreSQL] > [テーブル書き込み]アイコンを中央画面にドラッグアンドドロップします。

テーブル書き込み処理設定画面が開かれます。 必要な情報をドロップダウンで指定します。

DataSpider設定名 設定内容
入力データ freee データ取得処理名
接続先 PostgreSQL接続設定名
テーブル名 接続テーブル名

[完了]ボタンで設定内容を保存します。

マッピングの追加のダイアログが表示されます。 今回はデータの出力スキーマを設定するため、[はい]を選択します。

マッピング

データの加工を行います。

「mapping」アイコンが追加されています。アイコンをダブルクリックで開きます。

新しいタブでマッピング画面が開かれます。

出力する項目をマッピングし直します。

フロー作成画面に戻り、フローをすべてつなげて完成です。

実行

実行してみます。

PostgreSQL でデータを確認してみます。

5件出力されていることが確認できました。

おわりに

freee データをDataSpider から取得し、PostgreSQL へ出力する方法をご紹介しました。

freee は会計以外にも、人事労務やプロジェクト管理、受発注のAPI Profile も用意しているため、freee で扱っている主要なデータに接続することができます。

ぜひトライアル版でお試しください。

www.cdata.com