SharePoint でのコンテンツのフォロー
SharePoint のコンテンツ (ドキュメント、サイト、タグ) をフォローするための一般的なプログラミング作業について説明します。
SharePoint でのコンテンツ フォローの API
ユーザーがドキュメント、サイト、またはタグをフォローすると、ドキュメントからの状態の更新、サイト上の会話、およびタグ使用の通知がニュースフィードに表示されます。 コンテンツのフォローに関連する機能は、[ ニュースフィード] および [ フォロー中] コンテンツ ページに表示されます。
SharePoint では、プログラムによってコンテンツをフォローするのに使用できる、以下の API が提供されています。
マネージ コード用のクライアント オブジェクト モデル
.NET クライアント オブジェクト モデル
Silverlight クライアント オブジェクト モデル
モバイル クライアント オブジェクト モデル
JavaScript オブジェクト モデル
REST (Representational State Transfer) サービス
サーバー オブジェクト モデル
SharePoint 開発のベスト プラクティスとして、可能な場合はクライアント API を使用します。 クライアント API には、クライアント オブジェクト モデル、JavaScript オブジェクト モデル、および REST サービスが含まれます。 SharePoint の API と使用するタイミングの詳細については、「 SharePoint で適切な API セットを選択する」を参照してください。
各 API には、次のコンテンツのコアタスクの実行に使用するマネージャー オブジェクトが含まれています。
注:
ユーザーのフォローにも同じ API を使用します。 「 ユーザーのフォロー 」タスクの概要については、「SharePoint でユーザーをフォローする」を参照してください。
表 1 に、API のマネージャー オブジェクトとその他のキー オブジェクト (または REST リソース)、および、それらがあるクラス ライブラリ (またはアクセス ポイント) を示します。
注:
Silverlight およびモバイル クライアント オブジェクト モデルは、.NET クライアント オブジェクト モデルと中核的な機能が同じであり、同じ署名を使用するので、表 1 や表 2 には示されていません。 Silverlight クライアント オブジェクト モデルは、Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll で定義され、モバイル クライアント オブジェクト モデルは、Microsoft.SharePoint.Client.UserProfiles.Phone.dll で定義されています。
表 1. プログラムでコンテンツをフォローするために使用される SharePoint API
API | キー オブジェクト |
---|---|
.NET クライアント オブジェクト モデル 参照先: SharePoint の .NET クライアント オブジェクト モデルを使用してドキュメントとサイトをフォローする |
Manager オブジェクト: SocialFollowingManager プライマリ名前空間: Microsoft.SharePoint.Client.Social その他の重要なオブジェクト: SocialActor 、 SocialActorInfo 、 SocialActorType 、 SocialActorTypes クラス ライブラリ: Microsoft.SharePoint.Client.UserProfiles.dll |
JavaScript オブジェクト モデル | Manager オブジェクト: SocialFollowingManager プライマリ名前空間: SP。社会的 その他の重要なオブジェクト: SocialActor、 SocialActorInfo、 SocialActorType、 SocialActorTypes クラス ライブラリ: SP.UserProfiles.js |
REST サービス 「方法: SharePoint で REST サービスを使用してドキュメント、サイト、タグをフォローする」を参照してください |
マネージャー リソース: social.following プライマリ名前空間 (OData): sp.social.SocialRestFollowingManager その他の重要なリソース: SocialActor、 SocialActorInfo、 SocialActorType、 SocialActorTypes アクセス ポイント: <siteUri>/_api/social.following |
サーバー オブジェクト モデル | Manager オブジェクト: SPSocialFollowingManager プライマリ名前空間: Microsoft.Office.Server.Social その他のキー オブジェクト: SPSocialActor 、 SPSocialActorInfo 、 SPSocialActorType 、 SPSocialActorTypes クラス ライブラリ: Microsoft.Office.Server.UserProfiles.dll |
SharePoint でのコンテンツ フォローの一般的なプログラミング作業
表 2 はコンテンツ フォローの一般的なプログラミング作業とそれらを実行するのに使用するメンバーを示します。 メンバーは .NET クライアント オブジェクト モデル (CSOM)、JavaScript オブジェクト モデル (JSOM)、REST サービス、サーバー オブジェクト モデル (SSOM) です。
注:
ユーザーのフォローにも同じ API を使用します。 「 ユーザーのフォロー 」タスクの概要については、「SharePoint でユーザーをフォローする」を参照してください。
表 2. SharePoint でコンテンツをフォローするための一般的なタスク用 API
タスク | メンバー |
---|---|
現在のユーザーのコンテキストでマネージャー オブジェクトのインスタンスを作成する | CSOM: SocialFollowingManager JSOM: SocialFollowingManager 休む: <siteUri>/_api/social.following SSOM: SPSocialFollowingManager |
指定したユーザーのコンテキストでマネージャー オブジェクトのインスタンスを作成する | CSOM: 実装されていません JSOM: 実装されていません REST: 実装されていません SSOM: SPSocialFollowingManager (オーバーロード) |
現在のユーザーのアイテムのフォローを開始 (停止) する | CSOM: フォロー ( StopFollowing ) JSOM: フォロー ( stopFollowing) REST: POST <siteUri>/_api/social.following/Follow ( <siteUri>/_api/social.following/StopFollowing ) を実行し、要求本文に actor パラメーターを渡しますSSOM: Follow ( StopFollowing ) |
現在のユーザーが特定の項目をフォローしているかどうかを特定する | CSOM: IsFollowed JSOM: isFollowed REST: POST <siteUri>/_api/social.following/IsFollowed および要求本文で actor パラメーターを渡すSSOM: IsFollowed |
現在のユーザーがフォローしているドキュメント、サイト、タグを取得する | CSOM: GetFollowed JSOM: getFollowed REST: GET <siteUri>/_api/social.following/my/Followed(types=2) (documents = 2、sites = 4、tags = 8.md)SSOM: GetFollowed |
ユーザーがフォローしているドキュメント、サイト、タグの数を取得する | CSOM: GetFollowedCount JSOM: getFollowedCount REST: GET <siteUri>/_api/social.following/my/FollowedCount(types=2) (documents = 2、sites = 4、tags = 8.md)SSOM: GetFollowedCount |
現在のユーザーのフォロー ドキュメントを表示するサイトの URI を取得する | CSOM: FollowedDocumentsUri JSOM: followedDocumentsUri REST: GET <siteUri>/_api/social.following/my/FollowedDocumentsUri SSOM: FollowedDocumentsUri |
現在のユーザーのフォロー サイトを表示する URI を取得する | CSOM: FollowedSitesUri JSOM: followedSitesUri REST: GET <siteUri>/_api/social.following/my/FollowedSitesUri SSOM: FollowedSitesUri |
注:
REST サービスを使用してコンテンツをフォローする方法を示す例については、「 方法: SharePoint で REST サービスを使用してドキュメント、サイト、タグをフォローする」を参照してください。
JavaScript オブジェクトモデルを使用して、タグの名前に基づいてタグの GUID を取得する方法
タグのフォローを開始または停止する、あるいは現在のユーザーがそのタグをフォローしているかどうかを確認するには、タグの GUID を使用する必要があります。 次のコードに、タグ名に基づいて GUID を取得する方法を示します。
コードを実行する前に、 sp.taxonomy.js への参照を追加し、プレースホルダー タグの名前を既存のタグの名前に変更する必要があります。
function getTagGuid() {
var tagName = '#tally';
var clientContext = new SP.ClientContext.get_current();
var label = SP.Taxonomy.LabelMatchInformation.newObject(clientContext);
label.set_termLabel(tagName);
label.set_trimUnavailable(false);
var taxSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(clientContext);
var termStore = taxSession.getDefaultKeywordsTermStore();
var termSet = termStore.get_hashTagsTermSet();
terms = termSet.getTerms(label);
clientContext.load(terms);
clientContext.executeQueryAsync(
function () {
var tag = terms.get_item(0);
if (tag !== null) {
var tagGuid = tag.get_id().toString();
if (!SP.ScriptUtility.isNullOrEmptyString(tagGuid)) {
alert(tagGuid);
}
}
},
function (sender, args) {
alert(args.get_message());
}
);
}