Power Apps で SharePoint リスト アイテムに「いいね!」する

に公開

はじめに

SharePoint リストには いいね! をする機能があります。本記事では、これを Power Apps から操作する方法を紹介します。

実行手順

SharePoint リストの設定

コミュニケーション サイトでは既定で評価の設定機能が有効になっていません。まずはこの機能を有効にする必要があります。

https://zenn.dev/karamem0/articles/2019_10_31_120000

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