Power Apps で SharePoint のユーザーとグループ列に既定値を設定する方法

※ちょっとハマったので記事に纏めます。


Power Apps を使って SharePoint のリストをカスタマイズしたいときに、
SharePoint のユーザーとグループ列に既定値としてユーザーを入力してリストに登録する方法になります。

「既定値として入力は出来たけど、いざ登録してみるときちんとリストに登録されていない」ということがあり、これまでは Patch 関数を利用して強引にリストにユーザーを登録していました。

ですが、既定値の設定方法を工夫することで、Patch 関数を使わずにリストに登録ができるようになったのでご紹介します。

Patch 関数を使う場合の参考はこちら
PowerAppsからSharePointカスタムリストのユーザーまたはグループに値を入れる方法 │ システム運用日記

これができることにより、例えば「アプリを起動しているユーザーを既定でユーザーとグループ列に登録したい」といった場合に活用できると思います。


その方法ですが、
SharePoint リストフォームのユーザーとグループ列を使用している項目の中にある
「DefaultSelectedItems」の設定値に以下を登録するだけです。

f:id:trivia365:20200210212823p:plain

設定画面

実際のテキストはこちら

{
  Claims: "i:0#.f|membership|" & Lower(User().Email),
  Department: "",
  Email: User().Email,
  DisplayName: User().FullName,
  JobTitle: "",
  Picture: ""
}

 
それ以外に Update 等の変更は不要です。
※ アプリを使用したユーザーが既定値で入力されたユーザーを削除した場合はリストには登録されません。当然ですが。。。

また上記の入力内容の中で、" " となっているプロパティについては省略可能です。
最低限必要になるのは以下のみなので、必要に応じてプロパティを選択してください。

{
 Claims: "i:0#.f|membership|" & Lower(User().Email),
 DisplayName: User().FullName
}


ちゃんと調べていないので推測ですが、
「Claims」は SPO への登録に必要で、
「DisplayName」は Power Apps の検索ボックスに選択したユーザーを表示するために必要といった感じだと思われます。


以上。