Power Apps で SharePoint リスト アイテムに「いいね!」する
はじめに
SharePoint リストには いいね! をする機能があります。本記事では、これを Power Apps から操作する方法を紹介します。
実行手順
SharePoint リストの設定
コミュニケーション サイトでは既定で評価の設定機能が有効になっていません。まずはこの機能を有効にする必要があります。
PnP PowerShell を使用する場合、以下のコマンドを実行します。
Enable-PnPFeature -Identity 915c240e-a6cc-49b8-8b2c-0bff8b553ed3
機能を有効にした後、リストの設定で いいね! を有効にします。
アプリの作成
ギャラリーを追加し、SharePoint リストをデータソースに設定します。 いいね! の状態を表示できるようにアイコンを追加します。下のスクリーンショットでは説明のためにアイコンを並べていますが、実際は重ねて表示します。
アイコンの Visible プロパティには、以下の式を設定します。SharePoint リストの LikedBy には いいね! したユーザーの情報が格納されているため、その中にログイン中のユーザーが含まれているかどうかで判定します。
「いいね!」されていないアイコンの場合
IsBlank(LookUp(ThisItem.LikedBy, Email = User().Email))
「いいね!」されているアイコンの場合
Not(IsBlank(LookUp(ThisItem.LikedBy, Email = User().Email)))
フローの作成
いいね! の更新には SharePoint REST API を呼び出す必要があるため、Power Automate のフローを作成します。
パラメーターとしてリストアイテムの ID と新しい いいね! の状態を受け取り、SetLike メソッドを呼び出します。フローの実行は同期で動作させるため、必ず応答アクションを含めてください。
フローの呼び出し
アイコンの OnSelect プロパティでフローを呼び出します。
「いいね!」されていないアイコンの場合
{{flow-name}}.Run(ThisItem.ID, true); Refresh({{data-source}})
「いいね!」されているアイコンの場合
{{flow-name}}.Run(ThisItem.ID, false); Refresh({{data-source}})
フロー名およびデータソース名は、実際の名前に置き換えてください。
実行結果
初期状態は以下のようになります。
いいね! をクリックすると、状態が切り替わることを確認できます。
おわりに
工夫次第で既読機能としても活用できると考えています。
Discussion