LoginSignup
3
0

More than 1 year has passed since last update.

PowerAutomate「ファイル メタデータの取得」でエラー「BadRequest - Invalid URL」

Last updated at Posted at 2022-07-14

PowerAutomateのワークフローからSharePoint上のファイルを操作する際、しばしば利用することになるのが「ファイル メタデータの取得」アクションです。
この「ファイル メタデータの取得」アクションはSharePointサイト上のファイルを指し示す識別子(Identifier)を引数にして、ファイルの表示名その他各種のメタデータを取得するものです。
今回はそのアクションの利用中に起きた問題のトラブルシューティングです。

Problem

「ファイル メタデータの取得」を利用してファイルのメタデータを取得しているワークフローがあり、
あるファイルについては問題なく動いていたのですが、特定のファイルについてはエラーになってしまいました。
引数に指定している識別子はエンコーディング済みのものなので、不正な文字の混入が原因ではないと判断しました。

エラーのステータスコードは400。
メッセージは「Bad Request - Invalid URL」。

image.png

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid URL</h2>
<hr><p>HTTP Error 400. The request URL is invalid.</p>
</BODY></HTML>
{
    "statusCode": 400,
    "headers": {
        "Connection": "close",
        "Date": "Thu, 14 Jul 2022 06:56:00 GMT",
        "Content-Length": "324",
        "Content-Type": "text/html; charset=us-ascii"
    },
    "body": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">\r\n<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n<META HTTP-EQUIV=\"Content-Type\" Content=\"text/html; charset=us-ascii\"></HEAD>\r\n<BODY><h2>Bad Request - Invalid URL</h2>\r\n<hr><p>HTTP Error 400. The request URL is invalid.</p>\r\n</BODY></HTML>\r\n"
}

Solution

この問題はファイルの識別子(Identifier)の文字数が一定数以上になると起きる問題のようです。
別のアクションについて同様の問題が発生したことを報告してくださっている記事があります。

実際に問題になった識別子とそれ以外の識別子を比べるとたしかに文字数が異なっています:

image.png

この問題の対策としては:

  • 「パスによるファイル メタデータの取得」アクションに差し替える
  • ファイル名を短くする(ファイル名を短くすると識別子も短くなる)

今回は1つ目を採用。
「パスによるファイル メタデータの取得」アクションを利用するようにワークフローを修正してエラーを解消させました。

3
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
3
0