はじめに
SharePoint 2016 の「いいね」の評価が有効になったリストにおいて、「いいね」をクリックしたユーザ情報を取得する要件が出てきました。
Webブラウザ上で確認する方法は既定の機能で用意されているのですが、その方法ではユーザ情報を一覧形式で取得できないため、SharePointのAPIを使用して一覧取得する方法を紹介します。
SharePointのAPIを利用して取得する方法
リスト内のアイテムに対し「いいね」したユーザー数やユーザー名を確認する場合、SharePoint Server APIのSPListクラスとSPListItemクラスを使用します。
取得する手順はSPListクラスのGetItemById
メソッドを使用して「いいね」されているリストアイテムの情報を取得し、SPListItemクラスの以下2つのプロパティから「いいね」に関連した情報を取得することができます。
-
LikesCount
:「いいね」の数 -
LikedBy
:「いいね」したユーザーコレクション
「いいね」したユーザーの一覧をCSV形式でファイル出力するスクリプトの一例です。
GetItemById
メソッドでアイテム情報を取得し、"LikeBy"
のプロパティからユーザー情報を取得しています。
SharePoint ServerのSharePoint管理シェルでお試しください。
$web = Get-SPWeb "サイトのUR>"
$list = $web.Lists["リスト表示名"]
$item = $list.GetItemById("アイテムID")
$item["LikedBy"] | Export-CSV "CSVファイルパス"
- "サイトのURL" には、取得対象のリストが存在するサイトコレクションもしくはサイトのURLを指定してください。
例)Get-SPWeb http://(サーバー名)/sites/(サイト名)
- "リスト表示名" には、対象のリストの名前を指定してください。
例)$web.Lists["お知らせ"]
- "アイテムID" には、「いいね」されているアイテムのIDを指定してください。
例)$list.GetItemById(1)
- "CSVファイルパス"には、CSVファイルの出力先をフルパスで指定してください。
例)Export-CSV "C:\\SharePointData\LikedUsers.csv"
(参考)Webブラウザ上で確認する方法
本題から外れますが、Webブラウザ上で「いいね」したユーザを確認する方法も紹介します。
リストのビュー上で「いいね」されたアイテムの行にある顔マークにマウスカーソルを合わせるとポップアップが表示され、「いいね」したユーザーの名前を確認することができます。
Webブラウザ上で確認する方法としては、これ以外に既定の機能が用意されておらず、一覧形式で取得することができません。