Поделиться через


Работа с профилями пользователей в SharePoint

Узнайте о распространенных задачах программирования для работы с профилями пользователей в SharePoint.

Интерфейсы API для работы с профилями пользователей в SharePoint

Профили пользователей и их свойства предоставляют сведения о пользователях SharePoint. SharePoint предоставляет следующие API для программной работы с профилями пользователей:

  • Клиентские объектные модели для управляемого кода

    • Клиентская объектная модель .NET

    • Клиентская объектная модель Silverlight

    • Клиентская объектная модель для мобильных устройств.

  • Объектная модель JavaScript

  • Служба передачи репрезентативного состояния (REST).

  • Объектная модель сервера

Согласно передовой практике в разработке SharePoint, используйте клиентские интерфейсы API, когда это возможно. Клиентские интерфейсы API включают клиентскую объектную модель .NET, объектную модель JavaScript и службу REST. Дополнительные сведения об API в SharePoint и их использовании см. в статье Выбор правильного набора API в SharePoint.

Примечание.

Не все функции, включенные в сборку Microsoft.Office.Server.UserProfiles, доступны в клиентских API. Например, для создания и изменения профилей пользователей необходимо использовать серверную объектную модель, так как они доступны только для чтения в клиентских API (за исключением аватара пользователя). Кроме того, со стороны клиента невозможно получить доступ к некоторым пространствам имен, например Microsoft.Office.Server.Audience, Microsoft.Office.Server.ReputationModel или Microsoft.Office.Server.SocialData. Сведения о том, какие функции поддерживаются клиентскими API, см. в статьях Microsoft.SharePoint.Client.Social и Microsoft.SharePoint.Client.UserProfiles.

Каждый интерфейс API включает диспетчер объектов, который можно использовать для выполнения основных задач, связанных с профилем. В таблице 1 приведен диспетчер и другие ключевые объекты (или источники REST) в интерфейсах API, а также библиотека классов (или точка доступа), где их можно найти.

Примечание.

[!Примечание] Модель Silverlight и мобильная клиентская объектная модель не включены в таблицу 1 или таблицу 2, так как они предоставляют такой же основной функционал, как и клиентская объектная модель .NET, и одинаковые подписи. Клиентская объектная модель Silverlight определена в Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll, а мобильная клиентская объектная модель — в Microsoft.SharePoint.Client.UserProfiles.Phone.dll.

Таблица 1. API SharePoint, используемые для программной работы с профилями пользователей

API Ключевой объект
Клиентская объектная модель .NET
См. практическое руководство. Получение свойств профиля пользователя с помощью клиентской объектной модели .NET в SharePoint
Объект Manager: PeopleManager
Основное пространство имен: Microsoft.SharePoint.Client.UserProfiles
Другие ключевые объекты: PersonProperties , ProfileLoader , UserProfile
Библиотека классов: Microsoft.SharePoint.Client.UserProfiles.dll
Объектная модель JavaScript
См. статью Практическое руководство. Получение свойств профиля пользователя с помощью объектной модели JavaScript в SharePoint
Объект Manager: PeopleManager
Основное пространство имен: SP. UserProfiles
Другие ключевые объекты: PersonProperties, ProfileLoader, UserProfile
Библиотека классов: SP.UserProfiles.js
Служба REST
См. справочник по REST API профилей пользователей.
Ресурс диспетчера: PeopleManager
URI конечной точки: http://<siteUri>/_api/SP.UserProfiles.PeopleManager
Основное пространство имен: SP. UserProfiles
Другие ключевые ресурсы: PersonProperties, ProfileLoader, UserProfile
Объектная модель сервера
См. статью Практическое руководство. Работа с профилями пользователей и профилей организации с помощью серверной объектной модели в SharePoint
Объекты manager: UserProfileManager , PeopleManager
Основное пространство имен: Microsoft.Office.Server.UserProfiles
Другие ключевые объекты: UserProfile , CorePropertyManager , ProfilePropertyManager , ProfileSubtypeManager , ProfileSubtypePropertyManager , ProfileTypePropertyManager
Библиотека классов: 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, а затем получите свойства профиля пользователя из свойства UserProfileProperties возвращаемого объекта PersonProperties.
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() (перегружено)
Подготовка одного или нескольких личных сайтов пользователей
Доступно только для администраторов узлов Личный сайт на 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 .

См. также