ここでは、freee APIを活用したアプリケーションを開発する際に設計と実装が必要な事業所選択機能について説明します。
freee APIにおけるアクセストークンの発行単位と2つの権限について
freee APIでは、ユーザー単位でアクセストークンを発行します。
そのため、複数の事業所に所属するユーザーがAPIの認可を行うと、そのユーザーが所属する全ての事業所に対してAPIコールが可能となります。
アクセス可能なリソースは、アプリのアクセス権とユーザーの権限によって異なります。プロダクトごとに設定されている権限でのデータアクセスとなります。
- アクセストークンはfreeeのユーザー・アカウント単位で発行
- 複数事業所所属のアカウントでアプリを認可・利用すると、複数事業所へのアクセスができる
- アプリの権限とユーザー権限
- アプリが利用者による認可を経て発行されるアクセストークンを利用して、freeeにアクセスする際に利用する権限は2つ
- アプリごとに設定されているどのリソースにアクセス可能かの権限(アプリストアでアプリ開発者が設定)
- ユーザーごと、freeeプロダクトに設定されているアクセス権限(freeeプロダクトで事業所の管理者が設定)
- アプリが利用者による認可を経て発行されるアクセストークンを利用して、freeeにアクセスする際に利用する権限は2つ

意図しない事業所へのAPIコールを防ぐための事業所選択について
前述のとおり、ユーザーによっては複数の事業所へのAPIコールが可能となるため、連携設定時にアクセス対象の事業所をユーザーが選択するプロセスが必要です。
具体的には、API認可後の操作でユーザーがアクセス対象の事業所を選択する機能を実装する必要があります。
freeeアプリストアにアプリを公開する場合は、審査時にこの仕様が考慮されているか確認し、考慮されていない場合はアプリの公開を承認できませんのでご注意ください。
以下は、リピート取引登録アプリの例です。

