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
その他の重要なオブジェクト: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
クラス ライブラリ: Microsoft.SharePoint.Client.UserProfiles.dll
JavaScript オブジェクト モデル Manager オブジェクト: SocialFollowingManager
プライマリ名前空間: SP。社会的
その他の重要なオブジェクト: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
クラス ライブラリ: SP.UserProfiles.js
REST サービス
「方法: SharePoint で REST サービスを使用してドキュメント、サイト、タグをフォローする」を参照してください
マネージャー リソース: social.following
プライマリ名前空間 (OData): sp.social.SocialRestFollowingManager
その他の重要なリソース: SocialActorSocialActorInfoSocialActorTypeSocialActorTypes
アクセス ポイント: <siteUri>/_api/social.following
サーバー オブジェクト モデル Manager オブジェクト: SPSocialFollowingManager
プライマリ名前空間: Microsoft.Office.Server.Social
その他のキー オブジェクト: SPSocialActorSPSocialActorInfoSPSocialActorTypeSPSocialActorTypes
クラス ライブラリ: 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());
        }
    );
}

関連項目