会計freeeに登録されているアカウントを出力してみる

会計freeeにはなぜかアカウントを出力する機能がありません・・・
(見逃してるだけなら教えてください・・・)
で、統制がらみでアカウントの棚卸をする必要があったのでGAS+APIで取得してみました。

JSONで返ってくるのでプログラムとかJSON解析とかそういうのが苦手マンなのでとりあえず出力したい!!という方の参考になれば幸いです。

freeeへアプリを登録し、GASから利用できるようにする

こちらのサイトを参考にfreeeアプリ登録し、GAS側からアクセストークンを発行できるようにします
https://tonari-it.com/gas-freee-api-auth/

また事業所IDが必要になるため、下記URLを参考にし事業所IDを控えます
https://tonari-it.com/gas-freee-api-get-companies/

GASに新規ファイルを一つ追加し、下記のようなコードをはりつけます
company_idの後に上記で控えた事業所IDを設定します

function getUser() {
 //freeeAPIのサービスからアクセストークンを取得
 var accessToken = getService().getAccessToken();
 //リクエストを送る時に付与するパラメータ
 var params = {
   "method" : "get",
   "headers" : {"Authorization":"Bearer " + accessToken}
 };
 //ユーザアカウント一覧を取得するためのリクエストURL
 var requestUrl = 'https://api.freee.co.jp/api/1/users?company_id=事業所ID&limit=3000';
 var response = UrlFetchApp.fetch(requestUrl, params);
 user = JSON.parse(response.getContentText());
 var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId());
 var sheet = ss.getSheetByName('userlist');
 for( i = 0 ; i < user.users.length ; i++){
   email = user['users'][i]['email'];
   sheet.getRange(i + 2, 1).setValue(email);
 }
}

スプレッドシートのシート名をuserlistとしておきます
その後getUser関数を実行します。
下記のように会計freeeに登録されているアカウントのメールアドレスが出力されます。

画像1

あとは在職者であることを確認し、不要なアカウントが存在した場合にはそのアカウントを削除すればOKですね!

会計freeeから返ってくるJSONサンプルはこんな感じです

{users=[
   {last_name=null, last_name_kana=null, id=XXXX7, display_name=null, first_name=null, first_name_kana=null, email=tanaka@example.jp}, 
   {last_name=山田, last_name_kana=ヤマダ, id=XXXX10, display_name=山田太郎, first_name=太郎, first_name_kana=タロウ, email=yamada@example.jp}, 
]}

お昼ごはんや書籍代に使います!