こんにちは、CData Software Japanテクニカルサポートエンジニアの大川です。
本記事では、弊社より公開されたfreee会計向けのAPI Profileを使って、CData SyncでGoogle BigQueryとデータを同期する方法をご紹介します。
API Profileとは?
弊社ではCData API Driverという製品を提供しています。
www.cdata.com
この製品を利用することで、ODBC、JDBC、ADO.NET等を使用した標準SQLを使ってあらゆるAPIに対してアクセスすることが可能となります。API ProfileとはこのCData API Driverから参照されるAPIのスキーマ定義ファイルです。このファイルの仕様は公開されているため、誰でもこのファイルを作成することができ、CData API Driverを使って様々なAPIへアクセスすることが可能となります。
また、弊社から事前に定義されたAPI Profileを公開しています。
www.cdata.com
今回、この事前定義API ProfileにfreeeのAPI向けのファイルが追加されました。
これにより、freeeのAPIをODBC、JDBC、ADO.NET等を使用した標準SQLを使って利用できるようになりました。
CData Syncとは?
CData Syncは、弊社が提供するデータレプリケーションソフトウェアです。これにより、様々なクラウド上の業務アプリケーションデータをローカルDBやクラウドDBに簡単にレプリケーション(複製)できます。
www.cdata.com
200以上のデータソースおよび様々な同期先データベースが利用可能です。
www.cdata.com
これらの接続先に加え、CData SyncにはCData API Driverが組み込まれており、上記でご説明したAPI Profileがあれば接続先として利用できます。今回はこの機能を使って、freee会計を接続先として利用してみます。
連携手順
それでは、実際にCData Syncを使用してfreee会計のデータをGoogle BigQueryに同期してみます。
freee会計API利用準備
freee会計のAPIを利用するために、freee会計管理側でアプリケーション登録を行います。詳しくは以下の記事を参照ください。
developer.freee.co.jp
「基本設定」タブでは、「コールバックURL」にはhttp://localhost:8019/src/oauthCallback.rst
(http://localhost:8019/
の部分はSyncサーバの管理画面へのURLとなるよう必要に応じて修正してください)を設定してください。また、後ほどCData Syncの接続設定に必要となるため「Client ID」と「Client Secret」の値を確認しておきます。
「権限設定」タブで同期したいテーブルの「参照」にチェックを入れておきます。今回は「[会計]事業所」を同期してみますので、該当行の「参照」にチェックを入れてください。
なお、CData Syncから確認できるテーブル(ビュー)名とデータ種別の対応は以下の通りです。
Name |
Resource |
API Reference Link |
AccountItemItems |
勘定科目の詳細情報の取得 |
Link |
AccountItemPartners |
勘定科目の詳細情報の取得 |
Link |
AccountItems |
勘定科目一覧の取得 |
Link |
ApprovalFlowRoutes |
申請経路一覧の取得 |
Link |
ApprovalFlowRouteSteps |
申請経路の取得 |
Link |
ApprovalRequestForms |
各種申請の申請フォーム一覧の取得 |
Link |
ApprovalRequestItems |
各種申請の取得 |
Link |
ApprovalRequests |
各種申請の一覧 |
Link |
Banks |
連携サービス一覧の取得 |
Link |
Companies |
事業所一覧の取得 |
Link |
CompanyFiscalYears |
事業所の詳細情報の取得 |
Link |
DealDetails |
取引(収入/支出)一覧の取得 |
Link |
DealPayments |
取引(収入/支出)一覧の取得 |
Link |
DealReceipts |
取引(収入/支出)一覧の取得 |
Link |
DealRenewDetails |
取引(収入/支出)一覧の取得 |
Link |
DealRenews |
取引(収入/支出)一覧の取得 |
Link |
Deals |
取引(収入/支出)一覧の取得 |
Link |
ExpenseApplicationLines |
経費申請一覧の取得 |
Link |
ExpenseApplicationLineTemplates |
経費科目一覧の取得 |
Link |
ExpenseApplications |
経費申請一覧の取得 |
Link |
InvoiceContents |
請求書一覧の取得 |
Link |
Invoices |
請求書一覧の取得 |
Link |
Items |
品目一覧の取得 |
Link |
Journals |
仕訳帳 ダウンロード要求 |
Link |
ManualJournalDetails |
振替伝票一覧の取得 |
Link |
ManualJournals |
振替伝票一覧の取得 |
Link |
Partners |
取引先一覧の取得 |
Link |
PaymentRequestLines |
支払依頼詳細の取得 |
Link |
PaymentRequests |
支払依頼一覧の取得 |
Link |
QuotationContents |
見積書一覧の取得 |
Link |
Quotations |
見積書一覧の取得 |
Link |
Receipts |
ファイルボックス 証憑ファイル一覧の取得 |
Link |
Sections |
部門一覧の取得 |
Link |
SegmentTags |
セグメントタグ一覧の取得 |
Link |
Tags |
メモタグ一覧の取得 |
Link |
Transfers |
取引(振替)一覧の取得 |
Link |
TrialBS |
貸借対照表の取得 |
Link |
TrialBSPartners |
貸借対照表の取得 |
Link |
TrialBSThreeYears |
貸借対照表(3期間比較)の取得 |
Link |
TrialBSTwoYears |
貸借対照表(前年比較)の取得 |
Link |
TrialPL |
損益計算書の取得 |
Link |
TrialPLPartners |
損益計算書の取得 |
Link |
TrialPLSections |
損益計算書(部門比較)の取得 |
Link |
TrialPLThreeYears |
損益計算書(3期間比較)の取得 |
Link |
TrialPLTwoYears |
損益計算書(前年比較)の取得 |
Link |
UserMeCompanies |
ログインユーザー情報の取得 |
Link |
Users |
事業所に所属するユーザー一覧の取得 |
Link |
Walletables |
口座一覧の取得 |
Link |
WalletTxns |
明細一覧の取得 |
Link |
CData Syncのインストール
以下のCData Syncダウンロードサイトよりダウンロードいただき、インストールしてください。
www.cdata.com
インストール後、トライアルライセンスを有効化することで30日間無償でご試用いただけます。インストール方法やトライアルライセンスの有効化の手順については、以下のハンズオン記事もご参照ください。
https://www.cdata.com/jp/blog/2022-02-10-174821
データソース (freee会計) の接続設定
CData Syncにログインし、「接続」画面を開きます。デフォルトでは今回のfreee会計は表示されていませんので、「+Add More」ボタンをクリックして追加を行います。
「コネクタをダウンロード」ダイアログが開きますので、「API Profile」をクリックし、一覧から「Freee」をクリックします。
API Profileのダウンロードダイアログが開きますので、「ダウンロード&インストール」をクリックします。
自動的にAPI Profileがダウンロードされ、インストールされます。インストールが完了すると以下のダイアログが表示されますので、「OK」をクリックします。
すると、データソースの一覧に「Freee Profile」が追加されていますので、クリックします。
接続設定画面になりますので、以下の通り設定します。
プロパティ名 |
値 |
備考 |
名前 |
freee会計 |
任意の名前 |
OAuthClientId |
XXXXX |
「XXXXX」はfreee会計API利用準備で確認した「Client ID」の値 |
OAuthClientSecret |
XXXXX |
「XXXXX」はfreee会計API利用準備で確認した「Client Secret」の値 |
また、「Advanced」タブで以下の値を設定します。
プロパティ名 |
値 |
備考 |
Other (Optional) |
CallbackURL=http://localhost:8019/src/oauthCallback.rst; 事業所IDが分かっている場合は以下の通りCompanyIdを指定
CallbackURL=http://localhost:8019/src/oauthCallback.rst;CompanyId=XXXXXXXX; |
http://localhost:8019/ の部分はSyncサーバの管理画面へのURLとなるよう必要に応じて修正してください。 ※ほとんどのAPIではここでCompanyIdを設定する必要があります。事業所IDについてを参照してください。 |
設定したら、「設定」タブの「次に接続 API Profile For Freee」ボタンをクリックします。
するとブラウザが立ち上がり、freee へのログインおよび認可が求められます。表示されている情報を確認し、「許可する」をクリックします。
接続が成功すると、以下のように「Success!」と表示されますので、「変更を保存」をクリックします。これでデータソースの接続設定は完了です。
同期先 (Google BigQuery) の接続設定
データソースと同様に、同期先の接続を追加します。「接続」設定から「同期先」タブ内の「Google BigQuery」をクリックします。
接続設定画面になりますので、以下の通り設定します。
プロパティ名 |
値 |
備考 |
名前 |
BigQuery |
任意の名前 |
Dataset Id |
XXXXX |
「XXXXX」は同期先として使用するBigQuery のデータセットID |
Project Id |
XXXXX |
「XXXXX」は同期先として使用するBigQuery があるプロジェクトID |
「次に接続 GoogleBigQuery」ボタンを押すと、CData Syncから対象のGoogleアカウントへのログインおよび認可が求められます。表示されている情報を確認し、「続行」をクリックして許可すると接続が完了しますので、「変更を保存」をクリックします。これで同期先の接続設定は完了です。
ジョブの作成
データソースおよび同期先の接続設定が完了したら、ジョブを作成します。
「ジョブ」メニューで「ジョブを追加」をクリックします。
ジョブの作成画面が出ますので、以下の通り設定し、「作成」をクリックします。
項目名 |
値 |
備考 |
ジョブ名 |
freeeToBigQuery |
任意の名前 |
ソース |
freee会計 [API Profile For Freee] |
ドロップダウンリストから選択 |
同期先 |
BigQuery [GoogleBigQuery] |
ドロップダウンリストから選択 |
レプリケーションの種類 |
スタンダード |
|
これでジョブが作成されましたので、ジョブに対して同期したいテーブルを設定します。「テーブルを追加」をクリックします。
今回はfreee会計の「[会計]事業所」の情報を同期しますので、対応する「Companies」テーブルにチェックを入れて「選択したテーブルを追加」をクリックします。
ジョブの実行
以上でテーブルデータの同期設定が完了しました。「Companies」テーブルにチェックを入れ、「実行」をクリックして手動同期してみます。
すると、「ジョブfreeeToBigQueryは正常に完了しました。」と表示され、同時に同期されたレコード数が表示されます。Google BigQueryのエクスプローラ上でも、自動的にテーブルが作成され、データが挿入されていることが確認できます。
事業所IDについて
freee会計のほとんどのAPIへのアクセスには「事業所ID」の指定が必要となります。今回の例では「[会計]事業所」の情報を同期しましたが、これについては「事業所ID」を指定する必要がない情報となります。
「事業所ID」はfreeeの画面上から確認することができないため、freeeのAPIを使用して取得する必要があります(ダッシュボードで確認可能な「事業所番号」とは異なる値です)。CData Syncのみで完結させたい場合は、上記の例のようにまずは「[会計]事業所」の情報を同期してIDを確認することができます。
「事業所ID」が必要な他の情報の同期を行う際は、freee接続設定のAdvancedタブの「Other (Optional)」の値に追加で「CompanyId=XXXXXXXX;」のように事業所IDを指定する必要がありますのでご留意ください。
終わりに
以上のように、CData Syncを使ってfreee会計のデータを簡単に同期することができるようになりました。是非皆様のデータ利活用にお役立ていただければと思います。
関連コンテンツ