![見出し画像](https://assets.st-note.com/production/uploads/images/128585235/rectangle_large_type_2_229429f95472f2a607ff4ebafecbff6f.png?width=1200)
freeeのアクセストークンを取得する その1 - Client IDとClient Secretをプロパティストアに格納する
Google Apps Script(以降GAS)をはじめ、プログラミング言語を使って、freeeを操作するためには、不正な操作を防ぐための認証手続きが必要です。
前回は、freee側で操作権限を制御するためのアプリを作成しました。
今回は、アプリの登録の際に確認したClient IDとClient Secretを用いて、GASからfreee APIへのアクセスに必要なアクセストークンを取得します。
アプリとスプレッドシート「1:1」の認証
![](https://assets.st-note.com/img/1706022097004-wjjS9zU3G3.png?width=1200)
freeeは会計ソフトということもあって、スプレッドシートと連携して使用するケースが多い(であろう)ことから、freee公式サイトでは、OAuth2 ライブラリを利用した設定方法が紹介されています。
【freee API】GASを用いてGoogleスプレッドシートと連携する
この方法の場合、アプリとスプレッドシートは「1:1」の関係になり、スプレッドシートを増やす度に、freee側でアプリを増やす必要があります。
開発段階や学習段階では、これでも問題ありませんが、実務で使う段階になるとどうしても不便さ(アプリ管理が煩雑になる)が生じます。
とはいえ、OAuth2 ライブラリを用いることで簡易に認証ができるので、この方法が、ノンプログラマーにとっては、ベーシックな方法となります。
この設定方法に関しては、先にあげた公式サイトの他、すでに多数のweb記事がありますので、車輪の再発明となるため、本記事では解説しません。
公式サイトの情報が分かりづらいよ…という方は、私のGAS x freee APIの師匠である、もりさん(@moripro3)のブログがオススメです。
記事の内容に従って、事業所IDが取得できれば事前準備はOKです。
「1:多」となる認証の方法
freee ラボでは、ちょっとマニアックに1つのアプリに対して多数のスプレッドシートを連携できるような認証方法を実装したいと思います。
![](https://assets.st-note.com/img/1706022132807-4wDAqthWix.png?width=1200)
何はともあれ"Client ID"と"Client Secret"の確認
何はともあれ、アプリの接続に必要な"Client ID"と"Client Secret"の確認をします。
アカウントにログインした状態でfreeeアプリストアにログインします。
![](https://assets.st-note.com/img/1706022526330-9ckqAoLjI6.png?width=1200)
上段メニューのアプリ管理をクリック
![](https://assets.st-note.com/img/1706022565098-RXKtCkJrVf.png?width=1200)
開発責任者アプリをクリックし…
![](https://assets.st-note.com/img/1706023253344-ilKrH9hcfN.png)
基本情報のタブの"Client ID"と"Client Secret"を控えます。
"Client ID"と"Client Secret"をプロパティストアに格納する
"Client ID"と"Client Secret"は、そのままスクリプト内にベタ書きせずに、プロパティストアに格納します。
このプロパティストアは、設定情報や一時データの保存に利用され、次の3種類があります。
スクリプトプロパティ(Script Properties): 特定のスクリプトに紐づくプロパティで、そのスクリプトに権限を持つ全てのユーザーに共有される。
ユーザープロパティ(User Properties): 特定のユーザーに紐づくプロパティで、そのユーザーの全てのスクリプトで共有される。
ドキュメントプロパティ(Document Properties): 特定のGoogleドキュメントやスプレッドシートなどに紐づくプロパティで、そのドキュメントを使用する全てのユーザーに対して共有される。
この中で、スクリプトプロパティは、GASのエディタ内で確認・編集ができます。「プロジェクトの設定」のアイコンをクリックし、「プロジェクトのプロパティ」を選択することでアクセスできます。
![](https://assets.st-note.com/img/1706023838862-guxUO2Wqya.png)
どの種類のプロパティを利用するかですが…
この記事が気に入ったらサポートをしてみませんか?