BLOG

【会計ソフトfreee(フリー)×Integromat】勤怠管理・見積書/請求書作成を自動化する方法

on 21/09/17 14:57

会計ソフトのfreeeはとても便利ですが、freeeへ入力する作業自体に生産性はありません。APIを使用することで、例えばスプレッドシートやフォームからfreeeを通した見積書や請求書作成、slackやスマホのGPS、同じくフォームからの勤怠登録など、勝手に情報が登録・更新されていくという道が開けます。今回はノーコードiPaaSのIntegromatを使用して、APIを触ってみます。

 

【目次】

1.Integromatとは

2.まずはFreee側でアプリを作成

・開発環境作成

3.Authをセットアップ

・権限設定

・ここでfreee APIのAuthのお約束解説

4.実行環境(Integromat)セットアップ解説

・お約束事が言っていることはつまり

・具体的にには

5.Integromatには便利なOAuth2.0用モジュールがあります

6.まとめ

 

1.Integromatとは

IntegromatとはiPaaSと呼ばれるなものですが、iPaaSとは?から説明すると、記事中の写真のようにビジュアライズされたモジュールを用いて各SaaSを直感的に爆速にAPI連携するプラットフォームです。

 

中でもIntegromatは、月額約1000円から始められて、IFTTTやZapierとはレベル違いの実際のコーディングの代用に足る高度さ、そして圧倒的に使いやすいUIが特徴かと思います。

 

ただし、その高度さ故にかなりコーディング寄りで、完全にノンプログラマーの方が習得するには少しハードルが高い部分があると思います。あと、資料に日本語はほぼ皆無。
※なのでNADJAではIntegromat学習のためのハンズオンプログラムを提供

 

JavascriptもしくはGASが分かる方はツールの学習コストはかなり低いと思います。
気なった方は、無料プランもあるので登録して使ってみてください。NADJAはIntegromatのExtra+パートナーになっており、$9の有料プランが1ヶ月無料になるキャンペーンリンクがございますのでぜひご利用ください。

⇒1ヶ月無料でIntegromatを試してみる

※1ヶ月無料キャンペーン適応のため、アフィリエイトを含みます

 

2.まずはFreee側でアプリを作成

残念ながらIntegromatは海外発ツールで、会計はその国々で特異なためfreeeのモジュールなどはありません。なのでモジュールなし(自分で各パラメータを設定する)のカスタムHTTP callで対応。

 

・開発環境作成

freeeが用意してくれる開発環境テスト事業所があるのでまずはそちらを利用しましょう。
まずは、アプリストアに行き、開発者ページのタブに進んでテスト環境を作成します。
https://app.secure.freee.co.jp/developers
キャプチャ.PNG

 

出てきた画面で、特に何もおさず、
「freee API利用を開始する」のボタンを押します。


30秒程度待つとfreeeから、
「開発用テスト事業所の作成完了のお知らせ」
というメールが届くので、これで環境とテストアプリ出来上がり。

 

そのまま即コマンドを試したい方は、届いたメールのアクセストークン取得ページに進んで、アクセストークンをコピーで拾ってAPIリファレンスで試すといいと思います。


image.png

3.Authをセットアップ

・権限設定

公式の案内には、アクセストークンを取得しに行け→APIリファレンスに行って試せ
とありますが、そこではコマンドの確認程度しかできないので、開発者ページのタブに戻ってアプリの管理に移動。

 

勝手にできている開発用テストアプリ権限設定と進んで、テスト環境なのでとりあえず全部にチェックを入れて触ればいいと思います。
下書きを保存を押すのを忘れないように。後のプロセスで401:Invalid access Tokenのエラーになります

 

・ここでfreee APIのAuthのお約束解説

OAuth2.0の標準的な流れとして、固定パスワードのようなAPIキーよりは時間や回数制限のあるトークンを用いてのアクセスとなります。

 

APIドキュメントのAuthorization Code Flow部分にある通り、
・上記のメールから取得できるアクセストークン有効期限24時間
・Webアプリ認証用URLで取得する認可コード有効期限10分※後ほど解説
・24時間期限のアクセスコードの代わりに、時間の期限はないが、一回使い切りのリフレッシュトークンがある


image.png

4.実行環境(Integromat)セットアップ解説

・お約束事が言っていることはつまり

 

永続的にアプリが動くようにするには、


1.認可コードでアクセストークンを取得する認証APIを一発叩く
2.アクセストークンと共にリフレッシュトークンが返ってくる
3.リフレッシュトークンを実行環境がアクセスできる場所にストアリング


ということをまずやり、次回から、


ストアしたリフレッシュトークンを保管場所から取得
認証APIをリフレッシュトークンを使って叩く
新たに発行されたアクセストークンで続くAPIコマンドを実行


という流れを組まないといけません。

 

・具体的にには

 

image.png
「Content-Type=application/x-www-form-urlencoded」

「https://accounts.secure.freee.co.jp/public_api/token」


をリクエスト先のURLにセットし、作成されたアプリ詳細の基本情報からClient IDClient Secretをセット。Webアプリ認証用URLをブラウザで開き、認可コードを取得してcodeにセット。


無題.png

※ここではgrant_typeをauthorization_codeにすることに注目

こうするとリターンがこうなります。


無題.png

 

それを受けて、シナリオをこのように作り変えます。


image.png

無題.png

認証のAPIを叩く時はgrant_type=refresh_tokenに変更し、code=**の部分もrefresh_token=*にします。

その上で、ヘッダーにAuthorization= Bearer としてAPIを叩きます。


image.png

(スペース)Bearer(スペース)としないといけない気がするけどホント!?
※適切な権限設定がないと401:invalid_access_token(ログインしてください)とエラーが返ってきます
※本番ではさすがにGoogleスプレッドシートは使わないでおきましょう

 

5.Integromatには便利なOAuth2.0用モジュールがあります

ここまで書いておいて何ですが、上記のようなことをしなくても、IntegromatにはGASのPropertiesServiceOAuth2 for Apps Script+PropertiesServiceの組み合わせを一つにしたような、Pythonのoauthlibのような、Refresh Tokenを内部で保持してくれるモジュールがあります。


Make an OAuth 2.0 request
image.png

freeeアプリの設定側でコールバックURL
https://www.integromat.com/oauth/cb/oauth2」
に設定し、
※詳細はこちらhttps://www.integromat.com/en/help/app/http


このモジュールのConnection作成時に以下の用に設定すれば、一発でOAuth2.0への道が開けます。ヘッダーにも何も設定しないでOK!


image.png
※Client ID とSecretは前述の方法と同様にセットしてくださいね

6.まとめ

次回はfreee APIとIntegromatを使って実際にどんなものを作ったか、などご紹介したいと思いますので、ブログ投稿をお知らせするNADJAのLinkedinアカウントのフォローをぜひお願いいたします。

⇒NADJAのLinkedinアカウントのフォローする

freeeとIntegromatの連携を実現したい、ハンズオンプログラムにご興味のある方などお気軽にお問い合わせください。

⇒NADJAに無料相談する

 

Posted by Kan Murota

自動化するためならめっちゃ頑張る! ブラジルから帰国→金型職人→貿易会社勤務→NADJAと謎の経歴を持つ自動化大好きディベロパー。 Integromatハンズオン講師も務める

Topics: 30分でできる開発