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