OneDrive内のフォルダとファイルをExcelに一覧にする
解決できる課題
OneDriveの中がごちゃごちゃになっていませんか? ・とりあえずOneDriveにファイルを保存している ・OneDriveの整理が面倒くさい OneDriveの整理を自動化します(ただし、再帰的に処理できないので、全てのファイルは不可です)。
完成イメージ

必要なもの
OneDrive コネクタ
Excel コネクタ
作り方
OneDriveを整理の対象にします。
どのファイルがあるのか、いつ変更されたのかをExcelに一覧にし、台帳を作成します。
SharePoint版もあります。
- 1. トリガー「フローを手動でトリガーする」を設定
気が向いた時にOneDriveの整理を行うので、インスタントフローにします。
もちろん、スケジュールにして定期実行も可能です。

- 2. アクション「フォルダー内のファイルのリスト」を設定
整理の対象とする[フォルダー]を選択します。
「/」にすると、ルートになります。
※ここでの注意点は、この処理は再帰的に処理できないため、全てのフォルダ内のファイル取得はできません

- 3. アクション「表に行を追加」を設定
[場所]は「OneDrive for Business」にします。
[ドキュメントライブラリ]は「ドキュメント」を選択します。
[ファイル]と[テーブル]は、台帳用に作成したExcelとテーブルを選択します。
詳細パラメーターから、テーブルで用意した項目を選択します。
「DisplayName」はファイルの表示名、「Path」はファイルまでのパス、ファイルの更新日と更新者も取得可能です。
※このアクションを追加すると、自動的にForeachが作成されます(リストには複数のファイル名があるため)

- 4. 動作確認
下図のようなOneDriveの状態を想定します。

一覧を取得し、台帳にしたのが下図です。

- 5. なぜ再帰的に処理できないか
再帰的に処理するためには、フォルダを取得し、そのフォルダに対してステップ2(リスト化)を実行すれば良いです。
リストを取得後、まずはそれがフォルダかどうかを判定する必要があり、条件を使います。
具体的には、ステップ2(リスト化)で取得できる値は下記で、条件には「IsFolder」を使用します(true/false)。
{
"Id": " 省略 ",
"Name": "Attachments",
"NameNoExt": "Attachments",
"DisplayName": "Attachments",
"Path": "/Attachments",
"LastModified": "2025-08-16T07:04:57Z",
"Size": 18155264,
"MediaType": "application/octet-stream",
"IsFolder": true,
"ETag": " 省略 ",
"LastModifiedBy": " 省略 "
}
上記をもとに元のフローを修正し、実行してみます。

エラーになっているのは、再帰的な処理の中にあるアクション「フォルダー内のファイルのリスト 1」です。
これは、ステップ2で取得したリストの中にあるフォルダに対し、リスト化を実行するものです。
ここで発生したエラーについて、入力と出力を確認してみます。
入力は、正しく「/Attachments」が設定されているのが分かります。
{
"host": {
"connectionReferenceName": "shared_onedriveforbusiness",
"operationId": "ListFolderV2"
},
"parameters": {
"id": "/Attachments"
}
}
ですが、出力では404エラーになり、エラーとなっています。
{
"statusCode": 404,
"headers": {
ここは省略
},
"body": {
"status": 404,
"message": "Item not found",
"source": "api.connectorp.svc.ms"
}
}
つまり、正しくパスを指定しても、IDなどの一意な値で指定しないと取得できないものと考えられます。
これはPower Automateではよくあることで、リスト化のアクションは[フォルダー]しか設定できないため、再帰的な取得は不可となります。