Google Apps Script

【freee×GAS】GoogleAppsScriptでfreeeAPIと連携認証する(サンプルコードあり)

クラウド会計freeeアイキャッチ

こんにちは!freeeAPI大好きのもり(@moripro3)です!

GAS×freeeAPI連携の方法を紹介します。

  • freeeAPI「連携アプリ」の登録方法
  • 「連携アプリ」とGASを連携する方法
  • APIを使用した処理の例(GETリクエストでデータ取得)

※この記事は、freee公式サイトfreee APIのアクセストークンを取得するの内容を元に作成しています。作業を進めるうえで私自身が詰まったところ、困ったところを補足しています。

 

▼freeeを無料で試してみる▼

クラウド会計ソフトfreeeのAPI連携とは

現状、クラウド会計ソフトfreeeの各種データはCSV形式でインポート・エクスポートができますが、これを、CSV形式に変換せずにGoogleスプレッドシートとfreeeの間で直接データのやりとりが可能になります。

また、Googleスプレッドシートで作成している帳票がfreeeに直接インポートできない形式の場合、手作業で登録しなければなりませんが、GASでAPI連携アプリを使うことで、直接freeeにデータ送信(登録)もできます。

下記の図がfreee APIの全体像で、左上赤枠の「連携アプリとfreeeを利用するエンドユーザー」が私たちです。

freee-role2-2(引用元:freee APIのアクセストークンを取得する

前提条件と前提知識

この記事の前提条件と前提知識です。少しGASにさわったことがある方を想定して書いているので、エディタの使い方などの説明は省略しています。

  • 前提条件:freeeのアカウントを保有していること
  • 前提知識:Googleスプレッドシートと、それに紐づくスクリプトエディタを操作したことがある

スプレッドシートの作成(事前準備)

新規のGoogleスプレッドシートを作成し、スクリプトエディタを開きます(GASのコードはあとで書くので、とりあえず空っぽでOK)

このプロジェクト(スクリプト)の「スクリプトID」を確認します。連携アプリを作成する時に必要になります。

ファイル→プロジェクトのプロパティを選択して「スクリプトID」を確認します。このスクリプトIDはのちほど使うので、メモ帳などにコピペしておきましょう。

freee-gas連携9
もり
もり
それでは作業を進めていくよ~

freeeAPIにアプリケーションを登録する

「連携アプリ」を登録します。下記図の赤枠部分の「クライアントアプリ」のことです。

freee-role1(引用元:freee APIのアクセストークンを取得する

freeeアプリストアの開発者ページへアクセスし、右上のログインをクリックします。

freee-gas連携1

freeeアカウントでログインします(普段のログイン方法でOKです)

freee-gas連携2

事業所アカウントを選択します。

freee-gas連携3

画面右上の「アプリ管理」をクリックします。

freee-gas連携4

アプリの登録

アプリを登録します。「新規追加」をクリック。

freee-gas連携5

アプリ名・概要を入力し、利用規約を読んで同意にチェックし、「作成」をクリックします。※基本情報はあとから変更できます。

freee-gas連携6

これでアプリが登録され、「Client ID」と「Client Secret」が発行されます。

コールバックURLの登録

つづいて、コールバックURLを設定します。コールバックURLとは、連携完了後の遷移先URLです。

コールバックURLの形式がこちらです。スクリプトIDの部分に、先ほど調べた値をあてはめましょう。

https://script.google.com/macros/d/スクリプトID/usercallback

初期値を変更(上書き)して「下書き保存」をクリック

freee-gas連携7

以上でアプリケーション登録が完了です!!

GASとfreee連携アプリの連携認証をする

それではGASとfreeeアプリを連携します。

連携アプリで発行された「Client ID」と「Client Secret」を、後で紹介するGASのスクリプト内に設定します。

freee-gas連携16

認証用ライブラリの登録

認証用ライブラリ(OAuth2)を登録します。

freee-gas連携10

ライブラリのプロジェクトキーがこちら。

1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF

freee-gas連携11

最新バージョンを選択して、「保存」

freee-gas連携12

連携認証をするコード

連携認証用のコードです。変数Client_IDとClient_Secretには、アプリストアの情報を設定してください。

※実行するのはalertAuth()です!

連携の認証をする

関数alertAuthを実行すると認証URLがログに出力されるので、ブラウザのURL欄にコピー貼り付けしてアクセスします。

freee-gas連携20

この作業は、下記の赤枠の部分です。認証URLが発行(誘導)されたので、認証を許可しています。

freee-role3(引用元:freee APIのアクセストークンを取得する

事業所名が正しいかチェックして「許可する」をクリックします。

freee-gas連携18

成功メッセージが出れば完了です!

freee-gas連携19

おつかれさまでした!

GETリクエストでスプレッドシートにデータを取得

もり
もり
それじゃあ、さっそく使ってみるよ~

連携認証が済んだので、下記の赤枠部分を試してみます。クライアントアプリがfreeeのサーバにアクセスします。

freee-role4(引用元:freee APIのアクセストークンを取得する

口座振替の一覧を取得するサンプルコード

freeeの口座振替の一覧を取得してみます。(データはダミーですよ!)

freee-gas連携21

↓こんな風にスプレッドシートに書き出すことができます。

freee-gas連携22

2019/4/1以降の振替データを取得するサンプルコードです。

もり
もり
CSV出力じゃなくて、直接スプレッドシートに書き出せるのが便利だね

他にも、アイデア次第でいろいろな連携ができるようです。

GASが操作できるその他Googleサービス(Gmail・Googleカレンダー・Googleフォームなど)と組み合わせることでさらに業務を効率化できます。

例えば、スプレッドシートから取引をアップロードした際に確認メールを送信する。Googleフォームで貯蔵品の使用や経費を申請し、その取引データをfreeeに送信する。取引の支払期日をGmailやGoogleカレンダーでリマインドする。

 

最後までお読みいただきありがとうございました!またfreee連携のネタを仕入れたら紹介していきますね!

もり
もり
「Excel・スプレッドシートと、こんな自動連携ができたら便利だな」というネタを募集してます!
freee連携のネタ募集1
【無料企画】クラウド会計freee API自動連携のネタを募集します!会計freeeのAPIを使用して、freeeとExcel・スプレッドシートが自動連携できます。「こんな作業を自動連携したい!」といった、freeeユーザの皆さまからのお悩み・ネタを大募集!...