Power AutomateからSPOドキュメントライブラリのフォルダーを削除しようとしたとき、「フォルダを削除」的なアクションが見つからなかったので、消し方をメモ。
やりたいこと
こんな感じのドキュメントライブラリがあるとして、中にあるfolder1やfolder2を消したいときのお話。
フォルダの削除にはHTTP要求を仕様
少し調べてみるとフォルダを消すときはHTTP要求を使うよう。
※参考にしたサイトはこちら。
※参考にしたサイトはこちら。
delete empty folders in sharepoint document library
how to delete all empty folders in a sharepoint document library? Thanks
ということで、フォルダを削除するアクションはこんな感じ。
URLに指定するのは↓の通り。
_api/web/GetFolderByServerRelativeUrl('/sites/サイト名/ドキュメントライブラリ名/消したいフォルダ名')
ドキュメントライブラリ内のフォルダを全削除したいとき
フォルダを全削除したいときはこんな感じ。
SPOにはあまり詳しくないんだけど、ドキュメントライブラリには「Forms」という隠しフォルダがあって消さない方がよいらしい。
ということで、フィルターを書けて「Forms」フォルダ以外を削除するようにしてあげれば全フォルダを削除できる。
今回はあくまで僕がネットで調べた方法なので、もっと良い方法がある場合はコメントお待ちしてます!
おまけ 失敗例1:「フォルダの移動」アクション
「フォルダの移動」アクションで、移動先をnullにしたらひょっとして消せるかもと思ったけどダメだった。。。
おまけ 失敗例2:「ファイルの削除」アクション
「ファイルの削除」アクションを使えばいけるかと思ったけど、そもそも対象にフォルダを指定できない。
こんな感じでフォルダIDをしてみたけれど、実行が失敗してフォルダを削除することはできなかった。。。
コメント