SharePoint でのソーシャル機能の開発の概要

SharePoint のソーシャル フィードとミニブログ投稿を使用したプログラミング、人とコンテンツ (ドキュメント、サイト、タグ) のフォロー、ユーザー プロファイルの操作の概要を説明します。

ソーシャル機能をアプリやソリューションで活用する方法

開発環境の設定

ソーシャル機能の開発シナリオ

ソーシャル機能を使ったプログラミングのハウツー

ソーシャル機能を使ったプログラミング用の API

ソーシャル機能にアクセスするためのアプリのアクセス許可の要求

その他の技術情報

SharePoint アプリおよびソリューションでソーシャル機能を使用する方法

SharePoint アプリとソリューションのソーシャル機能は、ユーザーが相互に接続、通信、共同作業を行い、重要なコンテンツや情報を見つけて追跡、共有するのに役立ちます。 新しいソーシャル機能を追加したり、SharePoint で既に使用できる機能を拡張したりできます。 たとえば、共通の関心を持つユーザーを見つけてフォローしたり、フィード データのカスタム視覚化を作成したり、カスタム アクティビティをフィードに公開したりできるアプリを作成できます。

この記事では、個人サイトやチーム サイトで見つける人物、フィード、およびフォロー機能に沿って説明します。 コミュニティ サイトのフォーラム エクスペリエンスと評価モデルでは特定の API が公開されないため、SharePoint サイトを使用して、API 一覧を直接表示して機能を拡張できます。 詳細については、「コミュニティ サイトの新機能」を参照してください。

開発を開始する前に、コードの実行場所、実行する SharePoint 環境、提供する機能を知っておく必要があります。 これらの要素は、作成するアプリの種類と使用する API を選択する際に役立ちます。 決定に役立つ情報については、「SharePoint および SharePoint アドインで SharePoint ソリューションと比較して適切な API セットを選択する」を参照してください。

開発環境の設定

ソーシャル機能を使用した開発作業を開始するには以下のものが必要です。

  • SharePoint または SharePoint Online

  • Office Developer Tools for Visual Studio 2013 を含む Visual Studio 2012 か Visual Studio 2013、またはそれ以降のバージョン

詳細については、「 SharePoint の一般的な開発環境を設定する」および「SharePointでソーシャル コンピューティング機能を構成する」を参照してください。

SharePoint でのソーシャル機能の開発シナリオ

ソーシャル機能の高度な開発シナリオには、ソーシャル フィード、人とコンテンツ (ドキュメント、サイト、タグ) のフォロー、ユーザー プロパティの使用などがあります。 表 1 に、各シナリオや一般的なプログラミング タスクの機能にアクセスするために使用する主な API について説明された記事のリンクを示します。

表 1. ソーシャル機能シナリオの主な API とプログラミング タスクについて説明している記事

SharePoint でのソーシャル機能を使ったプログラミングのハウツー

開発環境をセットアップし、シナリオを選択したら、ソーシャル機能のプログラミングを開始できます。 表 1 に、ソーシャル機能を使用した基本的なプログラミング作業方法を示した記事へのリンクを示します。

表 1. ソーシャル機能の開発シナリオの方法に関する記事

機能エリア 説明
[方法] SharePoint の .NET クライアント オブジェクト モデルを使用してソーシャル フィードに対する読み書きを行う .NET クライアント オブジェクト モデルを使用してソーシャル フィードの読み取り/書き込みを行うアプリケーションを作成するための詳細な手順を順番に説明します。
[方法] SharePoint の REST サービスを使用してソーシャル フィードに対する読み書きを行う REST サービスを使用してソーシャル フィードの読み取り/書き込みを行うアプリケーションを作成するための詳細な手順を順番に説明します。
[方法] SharePoint で .NET クライアント オブジェクト モデルを使用して投稿の作成と削除、およびソーシャル フィードの取得を行う .NET クライアント オブジェクト モデルを使用して、マイクロブログの投稿を作成および削除する方法、およびソーシャル フィードを取得する方法を説明します。
[方法] SharePoint で JavaScript オブジェクト モデルを使用して投稿の作成と削除、およびソーシャル フィードの取得を行う JavaScript オブジェクト モデルを使用して、ミニブログの投稿を作成および削除する方法と、ソーシャル フィードを取得する方法を説明します。
[方法] SharePoint でメンション、タグ、サイトおよびドキュメントへのリンクを投稿に含める SocialDataItem オブジェクトをミニブログの投稿に追加する方法を説明します。これらはソーシャル フィードにメンション、タグ、リンクとしてレンダリングされます。
[方法] SharePoint で投稿にイメージ、ビデオ、ドキュメントを埋め込む SocialAttachment オブジェクトをミニブログの投稿に追加する方法を説明します。これらは、ソーシャル フィードに埋め込みの画像、ビデオ、ドキュメントとしてレンダリングされます。
方法: SharePoint で .NET クライアント オブジェクト モデルを使用してユーザーをフォローする .NET クライアント オブジェクト モデルを使用して、ユーザー フォロー機能を操作する方法を説明します。
SharePoint で JavaScript オブジェクト モデルを使用してユーザーをフォローする方法 JavaScript オブジェクト モデルを使用して、ユーザー フォロー機能を操作する方法を説明します。
方法: SharePoint の .NET クライアント オブジェクト モデルを使用してドキュメントとサイトをフォローする .NET クライアント オブジェクト モデルを使用して、コンテンツ フォロー機能を操作する方法を説明します。
SharePoint で REST サービスを使用して、ドキュメント、サイト、タグをフォローする方法 REST サービスを使用して、コンテンツ フォロー機能を操作する方法を説明します。
[方法] SharePoint の .NET クライアント オブジェクト モデルを使用してユーザー プロファイル プロパティを取得する .NET クライアント オブジェクト モデルを使用してユーザー プロファイル プロパティを取得する方法を説明します。
SharePoint で JavaScript オブジェクトモデルを使用して、ユーザー プロファイル プロパティを取得する方法 JavaScript オブジェクト モデルを使用して、ユーザー プロファイル プロパティを取得する方法を説明します。
[方法] SharePoint でサーバー オブジェクト モデルを使用して、ユーザー プロファイルと組織プロファイルを操作する サーバー オブジェクト モデルを使用して、ユーザー プロファイルとプロパティを作成、取得、および管理する方法を説明します。

SharePoint ソーシャル機能を使用したプログラミングの API

アプリとソリューションの SharePoint へのアクセス方法は異なりますが、SharePoint にアクセスした後のソーシャル API の使用方法は基本的に同じです。 表 2 に、SharePoint でフィード、フォロー、およびユーザー プロファイル機能を使用したプログラミングの API と、サーバーのソース ファイルへのパスを示します。

表 2. ソーシャル機能のプログラミング用 API

API 名 ソースとパス
.NET クライアント オブジェクト モデル Microsoft.SharePoint.Client.UserProfiles.dll
%ProgramFiles%\Common Files\Microsoft Shared\web サーバー拡張機能\15\ISAPI
Silverlight クライアント オブジェクト モデル Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll
in %ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS\ClientBin
モバイル クライアント オブジェクト モデル Microsoft.SharePoint.Client.UserProfiles.Phone.dll
in %ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS\ClientBin
JavaScript オブジェクト モデル SP.UserProfiles.js
%ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS
REST (Representational State Transfer) サービス http://<site url>/_api/social.feed
http://<site url>/_api/social.following
http://<site url>/_api/SP.UserProfiles.PeopleManager
サーバー オブジェクト モデル Microsoft.Office.Server.UserProfiles.dll
%ProgramFiles%\Common Files\Microsoft Shared\web サーバー拡張機能\15\ISAPI

注:

クライアント API から Microsoft.Office.Server.UserProfiles アセンブリのサーバー側の機能がすべて使用できるわけではありません。 使用できる API については、 Microsoft.SharePoint.Client.Social 名前空間および Microsoft.SharePoint.Client.UserProfiles 名前空間を参照してください。

SharePoint アドインでのソーシャル機能アクセスのためのアプリのアクセス許可要求

SharePoint アドインは、SharePoint リソースにアクセスするために必要なアクセス許可を、アドインをインストールするユーザーに要求する必要があります。 たとえば、フィードに投稿するアプリは、フィードへの書き込みアクセス許可 (最低でも) を要求する必要があります。 Visual Studio で AppManifest.xml ファイルに、アプリが必要とするアクセス許可を指定します。

アプリ アクセス許可の要求は SharePoint 展開を適用範囲としています。 表 3 に、ソーシャル機能にアクセスするためのスコープ名 (および対応するスコープ URI) と使用可能な権限を示します。 詳細については、「SharePoint でのアドインのアクセス許可」、SharePointでのアドイン承認ポリシーの種類、および「SharePoint でのアプリのアクセス許可管理の計画」を参照してください。

表 3. SharePoint のソーシャル機能に対するアプリのアクセス許可スコープと使用可能な権限

スコープ名 説明 使用可能な権限
ユーザー プロファイル
http://sharepoint/social/tenant
すべてのユーザー プロファイルへのアクセスに使用するアクセス許可要求スコープ。 プロフィール画像のみを変更できます。その他のすべてのユーザー プロファイル プロパティは、SharePoint アドインの読み取り専用です。テナント管理者がインストールする必要があります。 読み取り、書き込み、管理、フル コントロール
コア
http://sharepoint/social/core
ユーザーがフォローしているコンテンツと、ミニブログ機能で使用する共有メタデータにアクセスするためのアクセス許可要求スコープ。 このスコープは、コンテンツのフォロー機能をサポートしている個人用サイトにのみ適用されます。 アプリがその他の種類のサイトにインストールされる場合、テナント スコープを使用してください。 読み取り、書き込み、管理、フル コントロール
ニュース フィード
http://sharepoint/social/microfeed
ユーザーのフィードまたはチームのフィードにアクセスするためのアクセス許可要求スコープ。 このスコープは、ミニブログ機能をサポートしている個人用サイト、または サイト フィード機能がアクティブになっているチーム サイトに適用されます。 アプリがその他の種類のサイトにインストールされる場合、テナント スコープを使用してください。 Read、Write、Manage、FullControl
http://sharepoint/social/trimming この権限では、アプリに対するソーシャル フィードにセキュリティ トリミング コンテンツを表示するかどうかを決定するために使用するスコープが必要です。 この高信頼許可が付与されない場合、一部のコンテンツ (アプリが権限を持たないドキュメントやサイトに関する操作) は、ユーザーに十分な権限がある場合でも、アプリに返されるフィード データから削除されます。 この権限はアプリのマニフェスト ファイルに手動で追加する必要があります。 Read、Write、Manage、FullControl

アプリの権限を要求する際に考慮する必要がある項目

ソーシャル機能用のアプリ アクセス許可を指定する場合、次の考慮事項に留意する必要があります。

  • Office ストア アプリに対して、 FullControl 権限を指定するアプリは許可されません。 Office ストア アプリに対しては、 ReadWrite、および Manage 権限だけが許可されます。

  • フィードとフォロー機能のアクセス許可を指定するには、コア、ニュース フィード、およびテナント ( http://sharepoint/content/tenant) のスコープを使用します。 テナント スコープは、アプリがインストールされているテナント全体 (コアおよびニュース フィードのスコープを含む) を示します。 そのため、アプリにテナント スコープで必要な権利が既に指定されている場合、コアまたはニュース フィードのスコープではアクセス許可を要求する必要はありません。

  • 開発中に、"SocialListNotFound : ソーシャル リストは個人用サイトに存在しません" または "ファイルが見つかりません" というメッセージが表示される場合は、テナント スコープを使用します。 アプリで Core または News Feed スコープを使用する場合は、アプリ カタログからアプリを開いてアクセス許可をテストできます。

  • コア スコープは、コンテンツのフォロー機能をサポートしている個人用サイトに適用されます。 ニュース フィード スコープは、ミニブログ機能をサポートしている個人用サイト、または サイト フィード機能がアクティブになっているチーム サイトに適用されます。 それ以外の種類のサイトにアプリをインストールする場合は、テナント スコープを使用する必要があります。 「 SharePoint アドインのテナントと展開スコープ」を参照してください。

  • ユーザー プロファイル スコープの権限を要求するアプリはテナント管理者がインストールする必要があります。こうしたアプリを、SharePoint Online の Office 365 Small Business Premium バージョンにインストールすることはできません。

  • ソーシャル機能およびミニブログ機能のライセンス要件または機能のアクティブ化要件が満たされていない場合は、アプリをインストールできないというメッセージがユーザーに表示されます。

  • SharePoint の外部で起動されるアプリは、実行時にアクセス許可 ( Full Control を除く) を要求できます。 詳細については、「SharePoint アドインの認証コード OAuth フロー」を参照してください。

関連項目

概念に関する記事

リファレンス ドキュメント