kintoneの運用で各アプリのアクセス権の情報を管理するため、ExcelのPowerQueryを使用して一括取得(指定アプリのみ)する方法の備忘録です。
kintoneのREST APIを利用するため「スタンダードコース」以上の契約が必要です。
APIトークンの管理含め、どのような管理がよいかは今後の課題ですが、アクセス権の情報をExcelで一括取得する事例です。
内容:
確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2407)です。
アウトプットイメージ
kintoneの「アプリのアクセス権」の情報を次のようにExcelで一括取得します。
PowerQueryとkintoneのREST APIを利用します。
設定手順
基本知識
今回の事例は、PowerQueryとkintoneのREST APIを利用した次の事例の応用です。
以降の手順で不明な場合な箇所がある場合は、以下をご覧ください。
1.kintoneの準備(APIトークンの生成)
kintoneのアプリの設定から「APIトークン」を設定します。
アクセス権は「アプリ管理」を許可します。
APIトークンは、他者と共有しないなど、取扱いに注意が必要です。
2.PowerQueryの設定
(1)「データの取得」-「Webから」の設定
生成したAPIトークン等の情報を用いて次のように設定します。
- URL部分
例: https://(自分のURL)/k/v1/app/acl.json?app=アプリID
- HTTP要求ヘッダー パラメーター
ヘッダー部分: X-Cybozu-API-Token
パラメーター部分:(生成したAPIトークン)
参考: 認証 - cybozu developer network
上記の結果、次のようにソースが読み込まれた画面になります。
(2)必要なデータを一覧形式に変換
読み込まれたデータについて、【Power Query】WebページからデータをExcelに読み込む事例(kintoneのAPI連携) と同様に必要なデータを一覧形式に変換します。
追加するステップでは、
= Table.FromRecords(ソース[rights])
という式を入力後、entityを展開することで、次の状態となります。
これで必要な情報は取得できています。
以降は必要に応じて、プロパティ名の日本語名称に変換等を実施します。
次の画面イメージは、この事例でのPowerQueryの設定完了時の画面です。
True/FalseはPowerQueryで型変更をした後に一括置換しています。
以上の設定でExcelに読み込むと、冒頭のアウトプットイメージのようになります。
kintoneの運用で各アプリのアクセス権の情報を管理するため、ExcelのPowerQueryを使用して一括取得(指定アプリのみ)する方法でした。