見出し画像

freeeのアクセストークンを取得する その1 - Client IDとClient Secretをプロパティストアに格納する

Google Apps Script(以降GAS)をはじめ、プログラミング言語を使って、freeeを操作するためには、不正な操作を防ぐための認証手続きが必要です。

前回は、freee側で操作権限を制御するためのアプリを作成しました。

今回は、アプリの登録の際に確認したClient IDClient 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種類があります。

  1. スクリプトプロパティ(Script Properties): 特定のスクリプトに紐づくプロパティで、そのスクリプトに権限を持つ全てのユーザーに共有される。

  2. ユーザープロパティ(User Properties): 特定のユーザーに紐づくプロパティで、そのユーザーの全てのスクリプトで共有される。

  3. ドキュメントプロパティ(Document Properties): 特定のGoogleドキュメントやスプレッドシートなどに紐づくプロパティで、そのドキュメントを使用する全てのユーザーに対して共有される。

この中で、スクリプトプロパティは、GASのエディタ内で確認・編集ができます。「プロジェクトの設定」のアイコンをクリックし、「プロジェクトのプロパティ」を選択することでアクセスできます。

どの種類のプロパティを利用するかですが…

ここから先は

1,335字 / 1画像

アーリーバードプラン

¥500 / 月
人数制限あり
このメンバーシップの詳細

この記事が気に入ったらチップで応援してみませんか?