会計ソフトのfreeeはとても便利ですが、freeeへ入力する作業自体に生産性はありません。APIを使用することで、例えばスプレッドシートやフォームからfreeeを通した見積書や請求書作成、slackやスマホのGPS、同じくフォームからの勤怠登録など、勝手に情報が登録・更新されていくという道が開けます。今回はノーコードiPaaSのmake(integromat)を使用して、APIを触ってみます。
▶make(integromat)とは
▶まずはFreee側でアプリを作成
▶Authをセットアップ
▶実行環境(Integromat)セットアップ解説
▶make(integromat)には便利なOAuth2.0用モジュールがあります
▶まとめ
1.make(integromat)とは
make(integromat)はiPaaS(Integration Platform as a Service)の新しい次元です。ビジュアライズされたモジュールを活用し、SaaSを直感的にAPI連携できるプラットフォームです。月額1000円からご利用いただけ、IFTTTやZapierとは一線を画す高度な機能と使いやすいUIが特徴です。
ただし、高度な機能により、一部プログラミング知識が必要で、学習コストがやや高いかもしれません。NADJAではmake(integromat)学習のためのハンズオンプログラムを提供しており、JavascriptやGAS経験者は学習がスムーズです。無料プランも用意されていますので、ぜひお試しください。
NADJAはmake(integromat)の日本初の公式パートナーです。
⇒1ヶ月無料でIntegromatを試してみる
※アフィリエイトリンクを含みますがテスト用に1か月分のプロプランを無料でご利用いただけます
2.まずはFreee側でアプリを作成
残念ながら、make(integromat)は海外発のツールで、各国の会計基準が異なるため、freeeのモジュールなどは提供されておりません。そのため、モジュールが存在しない場合は(各パラメータを個別に設定する)カスタムHTTP callを使用して対応していただく必要があります。
・開発環境作成
freeeが用意してくれる開発環境テスト事業所があるのでまずはそちらを利用しましょう。
まずは、アプリストアに行き、開発者ページのタブに進んでテスト環境を作成します。
https://app.secure.freee.co.jp/developers
出てきた画面で、特に何もおさず、
「freee API利用を開始する」のボタンを押します。
30秒程度待つとfreeeから、
「開発用テスト事業所の作成完了のお知らせ」
というメールが届くので、これで環境とテストアプリ出来上がりです。
そのまま即コマンドを試したい方は、届いたメールのアクセストークン取得ページに進んで、アクセストークンをコピーで拾ってAPIリファレンスで試すといいと思います。
3.Authをセットアップ
・権限設定
公式案内では、アクセストークンの取得とAPIリファレンスの確認が必要です。ただし、APIリファレンスではコマンドの確認しかできません。そのため、開発者ページのタブに戻り、アプリの管理に移動してください。
現在、利用中の開発用テストアプリに進み、権限設定を行ってください。テスト環境のため、一旦すべての項目にチェックを入れ、自由に触れるようにしてみてください。
※下書き保存を忘れずに行ってください。後続のプロセスで401:Invalid access Tokenのエラーが発生する可能性があります。
・ここでfreee APIのAuthのお約束解説
OAuth2.0の標準的な手続きでは、APIキーのような固定パスワードよりも、時間や回数に制限のあるトークンを用いてアクセスします。
APIドキュメントのAuthorization Code Flow部分に記載されている通り、
・上記のメールから取得できるアクセストークンは有効期限が24時間です。
・Webアプリ認証用URLで取得する認可コードは有効期限が10分ほど
・24時間有効なアクセスコードの代わりに、期限のないが一度しか使えないリフレッシュトークンも利用できます。
4.実行環境セットアップ解説
・お約束事が言っていることはつまり
アプリを永続的に動作させるためには、
- 認可コードでアクセストークンを取得する認証APIを一度実行します。
- アクセストークンと共にリフレッシュトークンが返されます。
- リフレッシュトークンを実行環境がアクセスできる場所に保管します。
この手順を初回に行い、以降は以下の流れで進める必要があります。
・保管したリフレッシュトークンを取得
・認証APIをリフレッシュトークンを使用して実行
・新たに発行されたアクセストークンを利用してAPIコマンドを継続的に実行します。
・具体的には
「Content-Type=application/x-www-form-urlencoded」
で
「https://accounts.secure.freee.co.jp/public_api/token」
をリクエスト先のURLにセットし、作成されたアプリ詳細の基本情報からClient IDとClient Secretをセット。Webアプリ認証用URLをブラウザで開き、認可コードを取得してcodeにセットします。
※ここではgrant_typeをauthorization_codeにすることに注目
こうするとリターンがこうなります。
それを受けて、シナリオをこのように作り変えます。
認証のAPIを叩く時はgrant_type=refresh_tokenに変更し、code=**の部分もrefresh_token={{前の認証リクエストで保管したR}}*にします。
その上で、ヘッダーにAuthorization= Bearer {{アクセストークン}}としてAPIを叩きます。
※(スペース)Bearer(スペース){{R}}としないといけない気がするけどホント!?
※適切な権限設定がないと401:invalid_access_token(ログインしてください)とエラーが返ってきます
※本番ではさすがにGoogleスプレッドシートは使わないでおきましょう
5.make(integromat)には便利なOAuth2.0用モジュールがあります
ここまで書いておいて何ですが、上記のようなことをしなくても、make(integromat)にはGASのPropertiesServiceOAuth2 for Apps Script+PropertiesServiceの組み合わせを一つにしたような、Pythonのoauthlibのような、Refresh Tokenを内部で保持してくれるモジュールがあります。
Make an OAuth 2.0 request
freeeアプリの設定側でコールバックURLを
「https://www.integromat.com/oauth/cb/oauth2」
に設定し、
※詳細はこちらhttps://www.integromat.com/en/help/app/http
このモジュールのConnection作成時に以下の用に設定すれば、一発でOAuth2.0への道が開けます。ヘッダーにも何も設定しないでOK!
※Client ID とSecretは前述の方法と同様にセットしてください
6.まとめ
make(integromat)は新しいiPaaS(Integration Platform as a Service)の次元で、手頃な月額料金からスタートできる、業務効率化やノーコードのツールです。
今回はFreeeをAPIを使ってmake(integromat)に連携させ、自動化のセットアップ方法をご紹介いたしました。
モジュールがない場合でも、各パラメータを個別に設定するカスタムHTTP callで柔軟に対応可能です。また、Freeeを通した見積書や請求書作成がmake(integromat)を使用することで簡単になります。
NADJAは日本初のmake(integromat)公式パートナーであり、データ連携の導入支援も提供しています。学習には一部プログラミング知識が必要で、学習コストはやや高めかもしれませんが、NADJAではmake(integromat)学習のためのハンズオンプログラムを提供しており、JavascriptやGAS経験者はスムーズに学べます。無料プランも用意されていますので、ぜひお試しください。ご相談はお気軽にお問い合わせください。