Power Automate - SharePoint のファイル識別子の文字数制限
フォルダーの一覧表示で使えるファイル識別子の文字数は 2048 文字まで
ファイル識別子というのはこの Id のことです。
説明
ファイル識別子を使ったアクションは、SPO フォルダーから条件に合うファイルを取得したり、複数ファイルの取得にも使えて何かと便利に使える場面も多いと思います。ただし、日本語のフォルダー名を使っているとパスの長さ制限に引っかかりやすいので注意が必要です。
この制限に引っかかった場合、以下のエラーが返ってきます。
追加情報:
{
"StatusCode": "400",
"Message": "Non-json error response. Status: 400\r\nContent: <!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\r\nHeaders: {}",
"Body": {},
"Headers": {
"Connection": "keep-alive",
"Date": "Mon, 23 Oct 2023 00:48:16 GMT",
"Via": "HTTP/1.1 m_proxy_nrt2"
}
}
HyperText Transfer Protocol (HTTP) の 400 Bad Request レスポンスステータスコードは、何らかのクライアント側のエラーであると分かったために、サーバーがそのリクエストを処理しない (できない) ことを表します (例えば、リクエストの構文が正しくない、リクエストメッセージのフレーミングが無効、リクエスト経路に偽りがあるなど)。
とにかく日本語が厄介
この制限ですが、エンコード後の文字数なのでかなり厄介です。
半角英数字や半角記号の場合は全然大したことないのですが、
日本語は 1 文字 → 15 文字に増えます。……多すぎません?
半角カナも同様です。半角カナで濁点が付くと 2 文字扱いですからもっと厳しくなります。
ちなみに、所属の階層ですが、半角カナめちゃくちゃ使ってるので
↓ だいたいこんな感じなんですけど、(○
は全部半角カナ)
/Shared Documents/○○○○○○○○○○○○/○○○○○○○○○○○担当
文字 | 文字数 | 換算 | 合計 |
---|---|---|---|
Shared |
6 | 1 | 6 |
|
1 | 3 | 3 |
Documents |
9 | 1 | 9 |
/ |
3 | 5 | 15 |
日本語 | 29 | 15 | 435 |
合計 | 49 | - | 468 |
ここのフォルダーだけで 468 文字です。文字数めちゃくちゃ使ってます。
1024 文字制限のときだったら、使える文字数は残り 556 文字です。
いまは、2048 文字なのでわりと余裕が出てきた感じがしますが、
それでも、日本語が多いと厳しい場面もあるかもしれません。
ということで、ファイル識別子を使うアクションでエラーになった場合は、
この制限に引っかかっていないか確認してみてください。
パスを使ったアクションを使用する場合は OK
ファイルパスを直接使う場合はこの制限には引っかからないので問題ありません。
あまりにも長かったら別の制限にひっかかってダメですが、
今のところ、そこまで長いパスは使っていないですし、エラーも見ていません。
一応、400 文字以内となっています。
OneDrive、職場または学校の OneDrive、そして Microsoft 365 の SharePoint では、デコードされたファイル パス全体 (ファイル名を含む) の長さは 400 文字以内にする必要があります。 この制限は、デコード後のフォルダー パスとファイル名の組み合わせに適用されます。
その他
関連記事:
SharePoint からファイルをダウンロードする方法について
公式情報:
自分の記事
Power Automate DesktopでSharePoint ファイルをダウンロードする (ついでにアップロードも)
Discussion