Power AppsからSharePointリストにデータを登録する際、ユーザー列への登録方法で困ったことはありませんか?
テキストや数値の列とは異なり、ユーザー列には特別な形式でデータを渡す必要があります。
今回は、SharePointリストのユーザー列にデータを登録する方法について解説していきます。
対象となるユーザー列の設定
まず、今回扱うユーザー列の設定について確認しておきましょう。

今回対象とするのは、複数ユーザーが登録できない設定になっているユーザー列です。単一ユーザーのみを登録する場合の実装方法をご紹介します。
Patch関数を使った登録方法
SharePointリストにデータを登録する方法はいくつかありますが、ここでは最も一般的なPatch関数を使った方法を見ていきましょう。
実装のポイント
ユーザー列を登録する場合、いくつかの方法が考えられますが、今回は他のデータやコントロールに依存しない形で実装してみます。
具体的には、レコード型のデータを直接記述する方法です。
サンプルコード
実際のコードは以下のようになります:
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & "ここにメールアドレス",
Department:"",
DisplayName:"",
Email:"",
JobTitle:"",
Picture:""
}
パラメーターの説明
このコードにはいくつものパラメーターを記載していますが、実は@odata.typeとClaims以外は、値はどんなテキストでも問題ありません。
ただし、Departmentなどのフィールドは、値が空でも構いませんが、指定しないとエラーになってしまうので、適当な値で良いのですが必ず記載する必要があります。
登録するユーザーの指定方法
肝心のユーザー指定ですが、Claimsの & 記号の後ろに、登録したいユーザーのメールアドレスを指定します。
この部分だけを正確に設定すれば、ユーザー列へのデータ登録が可能になります。
アプリ実行者を登録する場合は以下のような形になります。
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & User().Email,
Department:"",
DisplayName:"",
Email:"",
JobTitle:"",
Picture:""
}
複数ユーザー登録について
もし、複数登録が可能なユーザー列への登録方法が知りたい場合は、別の実装方法が必要になります。複数ユーザー対応の方法については、関連する解説をご確認ください。
まとめ
いかがでしたでしょうか。
SharePointリストのユーザー列へのデータ登録は、レコード型のデータ構造を理解すれば意外とシンプルに実装できます。
その他ユーザー列に関する動画は以下のから確認できます。



コメント