7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Power AutomateAdvent Calendar 2024

Day 8

Power AutomateのSharePoint REST APIで共有ロックされたファイルを削除する

Last updated at Posted at 2024-12-07

やりたいこと

ファイルの存在を確認し、ファイルが存在する場合には[SharePoint - ファイルの削除]アクションを使ってそのファイルを削除したいと考えています。しかし、Power Automateを実行すると、「filename is locked for shared use by user email.」というエラーが発生してしまいます。

このエラーの原因として、Power AutomateでExcelテーブルを使用した場合、そのExcelファイルを6分間共有ロックする仕様が影響しています。

回避策を調査したところ、多くの場合、「遅延」アクションを使ってロックが解除されるまで6分間待機する方法が紹介されていました。しかし、この方法は状況によっては不都合が生じます。

本記事では、[SharePointにHTTP要求を送信します]アクションを活用してロックを解除し、ファイルを削除する方法を紹介します。

実装方法

[SharePointにHTTP要求を送信します]アクションで、SharePoint REST APIを実装します。Prefer: bypass-shared-lockをヘッダーのキーと値に設定することで、共有ロックを解除します。また、エンドポイントでsites/{sub_site}も設定するようにしてください。

HTTP
POST https://{site_url}/_api/web/GetFileByServerRelativeUrl('sites/{sub_site}/{folder_name}/{file_name}')
Prefer: "bypass-shared-lock"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"

Shared-lock.png

SharePoint REST APIでファイル操作は、以下記事をご参照ください。

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?