次の方法で共有


SharePoint のユーザー プロファイルの操作

SharePoint のユーザー プロファイルを操作するための一般的なプログラミング タスクについて説明します。

SharePoint のユーザー プロファイル操作用の API

ユーザー プロファイルとユーザー プロファイル プロパティは、SharePoint のユーザーに関する情報を提供します。 SharePoint は次のような API を提供し、ユーザー プロファイルを操作するプログラミングに使用することができます。

  • マネージ コード用のクライアント オブジェクト モデル

    • .NET クライアント オブジェクト モデル

    • Silverlight クライアント オブジェクト モデル

    • モバイル クライアント オブジェクト モデル

  • JavaScript オブジェクト モデル

  • REST (Representational State Transfer) サービス

  • サーバー オブジェクト モデル

SharePoint開発のベスト プラクティスとして、可能な限りクライアント API を使用してください。 クライアント API には .NET クライアント オブジェクト モデル、JavaScript オブジェクト モデル、REST サービスが含まれています。 SharePoint の API と使用するタイミングの詳細については、「 SharePoint で適切な API セットを選択する」を参照してください。

注:

クライアント API から Microsoft.Office.Server.UserProfiles アセンブリのすべての機能が使用できるわけではありません。 たとえば、クライアント API からは読み取り専用になるため (ユーザーのプロファイル画像を除く)、サーバー オブジェクト モデルを使用して、ユーザー プロファイルの作成または変更を行う必要があります。 また、クライアント側から、Microsoft.Office.Server.AudienceMicrosoft.Office.Server.ReputationModelMicrosoft.Office.Server.SocialData などの名前空間にアクセスすることはできません。 クライアント API のサポートされている機能を確認するには、Microsoft.SharePoint.Client.Social および Microsoft.SharePoint.Client.UserProfiles を参照してください。

API には基幹となるプロファイル関連タスクの実行に使用するマネージャー オブジェクトが含まれます。 表 1 に、各 API に含まれているマネージャー オブジェクトおよびその他の主要オブジェクト (または REST リソース) と API のクラス ライブラリ (またはアクセス ポイント) を示します。

注:

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 オブジェクト: PeopleManager
プライマリ名前空間: Microsoft.SharePoint.Client.UserProfiles
その他のキー オブジェクト: PersonPropertiesProfileLoaderUserProfile
クラス ライブラリ: Microsoft.SharePoint.Client.UserProfiles.dll
JavaScript オブジェクト モデル
参照: 方法: SharePoint で JavaScript オブジェクト モデルを使用してユーザー プロファイルのプロパティを取得する
Manager オブジェクト: PeopleManager
プライマリ名前空間: SP。UserProfiles
その他のキー オブジェクト: PersonPropertiesProfileLoaderUserProfile
クラス ライブラリ: SP.UserProfiles.js
REST サービス
参照先: ユーザー プロファイル REST API リファレンス
マネージャー リソース: PeopleManager
エンドポイント URI: http://<siteUri>/_api/SP.UserProfiles.PeopleManager
プライマリ名前空間: SP。UserProfiles
その他の重要なリソース: PersonPropertiesProfileLoaderUserProfile
サーバー オブジェクト モデル
方法: SharePoint でサーバー オブジェクト モデルを使用してユーザー プロファイルと組織プロファイルを操作する」
Manager オブジェクト: UserProfileManagerPeopleManager
プライマリ名前空間: Microsoft.Office.Server.UserProfiles
その他のキー オブジェクト: UserProfileCorePropertyManagerProfilePropertyManagerProfileSubtypeManagerProfileSubtypePropertyManagerProfileTypePropertyManager
クラス ライブラリ: Microsoft.Office.Server.UserProfiles.dll

SharePointのユーザー プロファイルを操作するための一般的なプログラミング タスク

表 2 に、ユーザー プロファイルを操作するための一般的なプログラミング タスクとそのタスクの実行に使用するメンバーを示します。 メンバーは, .NET クライアント オブジェクト モデル (CSOM)、JavaScript オブジェクト モデル (JSOM)、REST サービス、およびサーバー オブジェクト モデル (SSOM) に由来します。

表 2. ユーザー プロファイルを操作するための一般的なプログラミング タスク用 API

タスク メンバー
現在のユーザーのコンテキストでマネージャー オブジェクトのインスタンスを作成する CSOM: PeopleManager
JSOM: PeopleManager
REST: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager
SSOM: UserProfileManager (オーバーロード) または PeopleManager
現在のユーザーのプロファイル画像を変更する CSOM: SetMyProfilePicture
JSOM: setMyProfilePicture
REST: POSThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture および要求本文で picture パラメーターを渡す
SSOM: UserProfile [PropertyConstants.PictureUrl]。Value または SetMyProfilePicture
現在のユーザーのプロパティを取得する CSOM: GetMyProperties
JSOM: getMyProperties
REST: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (または /_api/social.feed/my または /_api/social.following/myからいくつかの基本的なユーザー プロパティを取得する)
SSOM: GetUserProfile
特定のユーザーのプロパティを取得する CSOM: GetPropertiesFor
JSOM: getPropertiesFor
REST: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\\user'
SSOM: GetUserProfile (オーバーロード) または GetPropertiesFor
特定ユーザーのユーザー プロファイル プロパティを取得する CSOM: GetUserProfilePropertiesFor
JSOM: getUserProfilePropertiesFor
REST: 実装されていません。 GetPropertiesFor を呼び出し、返された PersonProperties オブジェクトの UserProfileProperties プロパティからユーザー プロファイルのプロパティを取得します。
SSOM: GetEnumerator
ユーザーの特定のユーザー プロファイル プロパティを取得する CSOM: GetUserProfilePropertyFor
JSOM: getUserProfilePropertyFor
REST: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='PreferredName')?@v='domain\\user'
SSOM: UserProfile (オーバーロード) し、インデクサーでプロパティ名を指定します
ユーザー プロファイルを取得する CSOM: GetUserProfile (現在の ユーザーのクライアント側ユーザー プロファイル のみを返します)
JSOM: getUserProfile (現在のユーザーのみのクライアント側のユーザー プロファイルを返します)
REST: POSThttp://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile (現在のユーザーのみの クライアント側のユーザー プロファイル を返します)
SSOM: GetUserProfile (オーバーロード)
ユーザー アカウントが存在するかどうかを確認する CSOM: 実装されていません
JSOM: 実装されていません
REST: 実装されていません
SSOM: UserExists
ユーザー プロファイルおよびユーザー プロファイルのプロパティと属性を作成または変更する
(クライアント API によりプロファイル画像を変更可能。この表の「現在のユーザーのプロファイル画像を変更する」タスクを参照)
CSOM: 実装されていません
JSOM: 実装されていません
REST: 実装されていません
SSOM: 複数???「方法: SharePoint でサーバー オブジェクト モデルを使用してユーザー プロファイルと組織プロファイルを操作する」を参照してください
ユーザー プロファイルを削除する CSOM: 実装されていません
JSOM: 実装されていません
REST: 実装されていません
SSOM: RemoveProfile または RemoveUserProfile (オーバーロード)
ユーザーの個人サイトをプロビジョニングする CSOM: CreatePersonalSiteEnque (オーバーロード)
JSOM: createPersonalSiteEnque (オーバーロード)
REST: POSThttp://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue
SSOM: CreatePersonalSite() (オーバーロード)
1 人以上のユーザーの個人サイトをプロビジョニングする
SharePoint Online の 個人用サイト ホスト管理者のみ利用可能
CSOM: CreatePersonalSiteEnqueueBulk
JSOM: createPersonalSiteEnqueueBulk
REST: POSThttps://<domain>-admin.sharepoint.com/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/CreatePersonalSiteEnqueueBulk および emailIDs パラメーターのメールアドレスの文字列配列 (最大 200 文字) を要求の本文で渡します (例: {'emailIDs':['usera@contoso.onmicrosoft.com','userb@contoso.onmicrosoft.com']})。
SSOM: CreatePersonalSiteEnqueueBulk

SharePointのユーザーおよびユーザー プロパティ向けの新しいオブジェクト

SharePoint には、ユーザーおよびユーザー プロパティを表す次の新しいオブジェクトが含まれています。

  • SocialActor オブジェクトと SocialActorInfo オブジェクトは、フィードと次のアクティビティのユーザー (およびドキュメント、サイト、タスク) を表します。

  • 現在のユーザーの個人用サイトを作成するために使用できるメソッドを提供する新しいクライアント側 UserProfile オブジェクト。 ただし、サーバー側の UserProfile オブジェクトに含まれるすべての ユーザー プロパティ が含まれているわけではありません。

  • PersonProperties オブジェクトには一般的なユーザー プロパティが含まれており、その UserProfileProperties プロパティにはユーザー プロファイル プロパティが含まれています。 PersonProperties はクライアント側コードからユーザー プロパティにアクセスするためのプライマリ API です。

注:

サーバー オブジェクト モデルのバージョンは、 SPSocialActor オブジェクトと PersonProperties オブジェクトです。

関連項目