ADVERTISEMENT

【Googleスプレッドシート】freeeの取引データを取込!APIキー連携の手順

【Googleスプレッドシート】freeeの取引データを取込!APIキー連携の手順
🛡️ 超解決

freeeで管理している取引データをGoogleスプレッドシートに自動で取り込みたいとお考えではありませんか。手作業でCSVをエクスポートしてインポートするのは手間がかかります。freee APIを利用すれば、APIキーを発行してApps Scriptで連携することで、取引データをスプレッドシートに自動反映できます。この記事では、freeeのAPIキーを取得し、Googleスプレッドシートにデータを取り込む手順を詳しく解説します。

【要点】freeeの取引データをGoogleスプレッドシートに自動取込する方法

  • freeeでAPIキーを発行する: 連携のための認証情報を取得します。設定画面から発行し、安全に保管します。
  • Apps Scriptでカスタム関数を作成する: freee APIからデータを取得し、スプレッドシートに出力するスクリプトを記述します。
  • 定期実行トリガーを設定する: スクリプトを定期的に実行し、データを自動更新します。時間主導型トリガーで間隔を指定します。

ADVERTISEMENT

freee API連携の概要と必要な準備

freee APIとは、freeeが提供するWeb APIで、取引データや勘定科目などをプログラムから取得できる仕組みです。APIキーを使うことで、Google Apps Scriptからfreeeのデータにアクセスできます。この連携には、freeeのアカウント(有料プランが必要な場合あり)と、Googleアカウントがあれば十分です。また、APIキー発行のための権限や、Apps Scriptの基本知識も必要です。以下で具体的な手順を説明します。

freee APIキーを取得してスプレッドシートにデータを取り込む手順

1. freeeでAPIキーを発行する

  1. freeeにログインし、API設定画面を開く
    freeeの管理画面にログインし、[設定]→[API設定]を開きます。
  2. APIキーを発行する
    [APIキーを発行]ボタンをクリックし、表示されたキーをメモします。このキーは一度しか表示されないため、安全な場所に保存してください。
  3. 許可するスコープを設定する
    必要に応じて、APIのアクセス範囲(例:会計データの読み取り)を選択します。

2. GoogleスプレッドシートでApps Scriptを作成する

  1. スプレッドシートを開き、拡張機能からApps Scriptを起動する
    新しいスプレッドシートを作成し、[拡張機能]→[Apps Script]を選択します。
  2. スクリプトを記述する
    コードエディタに、freee APIからデータを取得する関数を記述します。以下はサンプルコードです。
  3. function getFreeeDeals() {
      var apiKey = 'YOUR_API_KEY';
      var url = 'https://api.freee.co.jp/api/1/deals';
      var headers = { 'Authorization': 'Bearer ' + apiKey };
      var options = { 'method': 'get', 'headers': headers, 'muteHttpExceptions': true };
      var response = UrlFetchApp.fetch(url, options);
      var data = JSON.parse(response.getContentText());
      // スプレッドシートに出力
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var rows = [];
      data.deals.forEach(function(deal) {
        rows.push([deal.id, deal.amount, deal.date, deal.status]);
      });
      sheet.getRange(1,1, rows.length, rows[0].length).setValues(rows);
    }
  4. APIキーをスクリプトに設定する(安全に管理する)
    上記コードの「YOUR_API_KEY」の部分を発行したAPIキーに置き換えます。ただし、直接コードに書き込むとセキュリティリスクがあるため、スクリプトプロパティに保存することを推奨します。
  5. 関数を実行してデータを取得する
    スクリプトエディタで関数「getFreeeDeals」を実行し、スプレッドシートにデータが出力されることを確認します。

3. トリガーを設定して定期実行する

  1. Apps Scriptのトリガー画面を開く
    スクリプトエディタの左メニューから[トリガー](時計アイコン)を選択します。
  2. 新しいトリガーを作成する
    [トリガーを追加]をクリックし、実行する関数「getFreeeDeals」、イベントの種類「時間主導型」、時間間隔(例:「1時間おき」)を設定します。
  3. 保存して承認する
    トリガーを保存する際に、スプレッドシートや外部サービスへのアクセス許可を求められるので、承認します。

API連携で注意すべきポイントとよくあるトラブル

APIキーの管理に注意する

APIキーは第三者に漏れると、不正にデータを取得される恐れがあります。スクリプトに直接記述せず、スクリプトプロパティや環境変数で管理しましょう。また、定期的にキーを更新することをおすすめします。

レート制限に引っかかる

freee APIには呼び出し回数の制限があります。短時間に大量のリクエストを送ると、一時的にアクセスが制限されることがあります。トリガーの間隔を適切に設定し、必要以上に頻繁な実行を避けましょう。

認証エラーが発生する

APIキーが無効、またはスコープが不足している場合、認証エラーが返されます。キーの有効期限や権限を確認し、必要なら再発行してください。

スクリプトの実行時間制限を超える

Apps Scriptの1回の実行時間は最大6分です。大量のデータを取得する場合は、分割処理を検討するか、ページネーションに対応したコードを書く必要があります。

ADVERTISEMENT

freee APIキー連携とCSV手動取込の比較

項目 freee APIキー連携 CSV手動取込
データ更新の自動化 自動(定期的に更新可能) 手動(毎回CSVをダウンロードしてインポート)
手間 一度設定すれば以後自動 毎回の手作業が必要
リアルタイム性 トリガー設定によりほぼリアルタイム 手動更新の頻度に依存
セキュリティ APIキーの管理が必要 CSVファイルの取り扱いに注意

まとめ

freee APIキーを利用した連携により、Googleスプレッドシートに取引データを自動で取り込めるようになります。この記事で解説した手順を参考に、スクリプトを作成し、トリガーを設定してください。データの追加やフィルタリングなど、スクリプトをカスタマイズすることで、より柔軟なデータ活用が可能です。まずは小さなデータセットで動作を確認し、本番運用に移行しましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。