はじめに
「型名のないエントリが見つかりましたが、必要な型が指定されませんでした。型情報を持たないエントリを受け入れるには、モデルを指定するときに、必要な型も指定する必要があります。」
PowerAutomate でこんなエラーが出たとき、解決に苦労しました。
今回は、このエラーを解決するための対処方法2点をご紹介します。
目次
筆者が直面した状況
SharePoint の「ドキュメント(Shared Documents)」ライブラリにファイルが作成された時にファイル名を変更する。
というフローを作成していた時に表題のエラーが発生しました。
エラーが発生したのは「SharePoint に HTTP 要求を送信します」アクションです。
気を付けなければいけないのは、下図赤枠内の2カ所です。
原因その1:type が間違っている
上図の「SharePoint に HTTP 要求を送信します(リネーム)」アクションでボディにPOSTする対象を type で指定しています。
指定する際は下記に従って記入してください。
指定するのが「表示名」ではなく「内部名」である点に注意してください。
構文 "type": "SP.Data.リスト内部名Item" 例1 ドキュメント(Shared Documents)の場合 ”type”: "SP.Data.Shared_x0020_DocumentsItem"
原因その2:metadata の記述が間違っている
上図の「SharePoint に HTTP 要求を送信します(リネーム)」アクションでボディの type を囲む metadata ですが、よく見ると先頭に「__(アンダーバー)」が含まれています。
しかも、アンダーバーは半角1文字でも全角1文字でもなく、「半角2文字」ですのでご注意ください。
アンダーバー1文字の _metadata だと表題のエラーが発生します。
"__metadata":
結論
例のように、ファイル名のリネームを行いたい場合は下記コードを参考にして ボディを作成してください。
{ "__metadata": { "type": "SP.Data.Shared_x0020_DocumentsItem" }, "FileLeafRef": "新しいファイル名" }