shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【kintone】アプリのアクセス権の情報をExcelで一括取得

kintoneの運用で各アプリのアクセス権の情報を管理するため、ExcelのPowerQueryを使用して一括取得(指定アプリのみ)する方法の備忘録です。

kintoneのREST APIを利用するため「スタンダードコース」以上の契約が必要です。

APIトークンの管理含め、どのような管理がよいかは今後の課題ですが、アクセス権の情報をExcelで一括取得する事例です。

内容:

確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2407)です。

アウトプットイメージ

kintoneの「アプリのアクセス権」の情報を次のようにExcelで一括取得します。

PowerQueryとkintoneのREST APIを利用します。

設定情報をExcelに一覧で取得している

kintoneの「アプリのアクセス権」の情報をExcelで一括取得事例

設定手順

基本知識

今回の事例は、PowerQueryとkintoneのREST APIを利用した次の事例の応用です。

以降の手順で不明な場合な箇所がある場合は、以下をご覧ください。

shikumika.org

1.kintoneの準備(APIトークンの生成)

kintoneのアプリの設定から「APIトークン」を設定します。

アクセス権は「アプリ管理」を許可します。

APIトークンは、他者と共有しないなど、取扱いに注意が必要です。

参考:APIトークンを生成する | kintone ヘルプ

APIトークンを生成しています

APIトークンの生成の画面イメージ

2.PowerQueryの設定

(1)「データの取得」-「Webから」の設定

生成したAPIトークン等の情報を用いて次のように設定します。

生成したAPIトークン等を設定しています

「データの取得」-「Webから」の設定例

上記の結果、次のようにソースが読み込まれた画面になります。

JSONドキュメントでソースが取得できます

アプリのアクセス権の情報(ソース)の読み込み例
(2)必要なデータを一覧形式に変換

読み込まれたデータについて、【Power Query】WebページからデータをExcelに読み込む事例(kintoneのAPI連携) と同様に必要なデータを一覧形式に変換します。

追加するステップでは、

= Table.FromRecords(ソース[rights])

という式を入力後、entityを展開することで、次の状態となります。

必要なデータ展開がされています

Table.FromRecords(ソース[rights]) のステップ挿入、entityの展開後

これで必要な情報は取得できています。

以降は必要に応じて、プロパティ名の日本語名称に変換等を実施します。

次の画面イメージは、この事例でのPowerQueryの設定完了時の画面です。

True/FalseはPowerQueryで型変更をした後に一括置換しています。

プロパティの日本語変換、True・Falseの変換をしています。

PowerQueryの設定完了時の画面

以上の設定でExcelに読み込むと、冒頭のアウトプットイメージのようになります。
kintoneの運用で各アプリのアクセス権の情報を管理するため、ExcelのPowerQueryを使用して一括取得(指定アプリのみ)する方法でした。