Communityにドキュメントなどまとまっているのでここから。スタートガイドを見るにDeveloper会員登録が必要らしいのでまずはこれを。Developer会員登録した後はfreeeにログインしてアプリを新規作成。アクセストークンの取得やリファレンスを参考にfreee本体の方でアプリを作成する。Grantのフローでfreeeユーザーの認可を得てfreee内のデータにAPIでアクセスできるようになる。アプリは個別案件用にしてもいいし、どのfreeeユーザーでも使えるように汎用的に作ることもできる。基本的にAPIアクセスではfreeeユーザーは自分の事業所の情報にしかアクセスできないが、アプリ内で持っているDBに入ったデータなどは当然のごとくアプリの裁量になるため、設計がまずいと関係の無いユーザーにも見られてしまう危険はある。個別案件用に使う場合でもアプリのURLを知られてしまうと全く関係の無いユーザーが入ってくる可能性はあるので、company_idが所定のものじゃなかったらアクセスを弾くといった対応は必要か。アクセストークンの取得のページに書いてある。Codeの有効期間は10分で、アクセストークンは24時間。Developer会員のアカウントとアプリ登録に必要なfreeeアカウントは別のもの。freeeアカウントの方は無償の開発者アカウントを準備中らしいが、今はまだ使えないので、通常の無料アカウントを作成してやってくださいとのことだ。アプリ作成時のコールバックURLローカルで軽く触ってみる程度の場合には「urn:ietf:wg:oauth:2.0:oob」を指定。Codeが表示されるので、10分以内にそれを使ってアクセストークンを取得してあとは色々と試す。開発用にVagrantやDockerなどでウェブアプリ開発の環境を作っている場合は「http://localhost:8080/auth」のようなローカル開発環境のURLを入れると良い。本番用のアプリには本番用のコールバックURLを指定する。APIに関するメモcompany_idの取得https://api.freee.co.jp/api/1/companiesAPIリクエストの際には基本的にcompany_idが必要になるのでこれをまずはゲットする。freeeの事業所ごとに割り振られているもの。walletable_idの取得https://api.freee.co.jp/api/1/walletables?company_id=xxxxxxfreeeと同期している銀行口座の情報が欲しかったのでこれで対象の口座を取得する。明細の取得https://api.freee.co.jp/api/1/wallet_txns?company_id=xxxxxx&walletable_id=yyyyyy振込人の名義が知りたかったので、walletable_idで口座を指定して明細を取得。取引(deal)の方には載ってないので、明細の方を使う。福岡2をきっかけにTDDネタをしばらく書いてきたが、ひとまずこれで最後。TDDBCCAKE_ENVで開発環境と本番環境の切り替え久方ぶりにPHPerに戻ってる今日この頃。RailsのRAILS_ENVで環境に応じた設定でアプリケーションが動作する、みたいなことをCakePHPでもやってみたのでメモ。福岡2のディスカッションの中でそういう話が出た。最近そういう議論があるらしい。TDDBC検索:書いてる人サーバーサイドのインフラ構築とプログラミングをたしなむハーフスタックくらいのフリーランスプログラマー。カメラはペンタックス。