Шрифт
Получение свойств профилей пользователей с помощью объектной модели JavaScript в SharePoint
Play

Получение свойств профилей пользователей с помощью объектной модели JavaScript в SharePoint

Узнайте, как программно восстановить свойства и профиль пользователя с помощью объектной модели JavaScript для SharePoint.

Что такое свойства пользователей и их профилей в SharePoint?

Свойства пользователей и их профилей предоставляют сведения о пользователях SharePoint, например отображаемое имя, адрес электронной почты, должность, а также другие рабочие и личные сведения. В клиентских интерфейсах API доступ к этим свойствам можно получить с помощью объекта PersonProperties и его свойства userProfileProperties. Свойство userProfileProperties содержит все свойства профиля пользователя, но объект PersonProperties содержит часто используемые свойства (например, accountName, displayName и email), к которым легче получить доступ.

Объект PeopleManager включает следующие методы, которые можно использовать для получения свойств пользователей и их профилей с помощью объектной модели JavaScript:

Методы getUserProfilePropertiesFor и getUserProfilePropertyFor возвращают значения свойств профиля пользователя, которые можно указать.

Свойства профиля пользователя из клиентских интерфейсов API доступны только для чтения (за исключением изображения профиля, которое можно изменить с помощью метода PeopleManager.setMyProfilePicture). Чтобы изменить другие свойства профиля пользователя, необходимо использовать серверную объектную модель. Дополнительные сведения о работе с профилями пользователей см. в статье Работа с профилями пользователей в SharePoint.

Клиентский объект UserProfile содержит не все свойства пользователей, доступные в серверной версии. Тем не менее, в клиентской версии предусмотрены методы для создания личного сайта для текущего пользователя. Чтобы получить его, используйте метод ProfileLoader.getUserProfile.

Необходимые условия для настройки среды разработки на получение свойств пользователя с помощью объектной модели JavaScript в SharePoint

Чтобы создать страницу приложения, которая использует объектную модель JavaScript для получения свойств пользователей, вам потребуются:

SharePoint с профилями для текущего пользователя и целевого пользователя;

Visual Studio 2012;

Инструменты разработчика Office для Visual Studio 2013;

разрешения уровня Полный доступ для подключения к приложению-службе профиля текущего пользователя.

Создание страницы приложения в Visual Studio 2012

На сервере под управлением SharePoint откройте Visual Studio и выберите команды Файл, Создать, Проект.

В раскрывающемся списке в верхней части диалогового окна Новый проект выберите пункт .NET Framework 4.5.

В списке Шаблоны разверните узел Office/SharePoint, выберите категорию Решения SharePoint, а затем шаблон Проект SharePoint.

Назовите проект UserProfilesJSOM и нажмите кнопку ОК.

В диалоговом окне Мастер настройки SharePoint введите URL-адрес целевого сайта SharePoint, выберите Развернуть как решение фермы и нажмите кнопку Готово.

В диспетчере решений откройте контекстное меню для проектаUserProfilesJSOM и добавьте сопоставленную папку Layouts для SharePoint.

В папке Layouts откройте контекстное меню папки UserProfilesJSOM и добавьте новую страницу приложения SharePoint под названием UserProfiles.aspx.

Примечание. Примеры кода в этой статье определяют пользовательский код в коде разметки страницы, но не используют файл классов кода программной части, который Visual Studio создает для страницы.

Откройте контекстное меню страницы UserProfiles.aspx и выберите пункт Назначить автозапускаемым элементом.

В разметке страницы UserProfiles.aspx вставьте приведенный ниже код в теги Main asp:Content. Этот код создает элемент управления span, который отображает результаты запроса, элементы управления SharePoint:ScriptLink, которые ссылаются на файлы библиотеки классов JavaScript в SharePoint, и теги script для пользовательской логики.

  1. Чтобы добавить логику для получения свойств профиля пользователя, замените комментарий между тегами script примером кода из одного из следующих сценариев:
  1. Чтобы протестировать страницу приложения, в панели меню выберите команды Отладка, Начать отладку. Если вам будет предложено изменить файл web.config, нажмите кнопку ОК.

Пример кода. Получение свойств профиля пользователя из объекта PersonProperties и его свойства userProfileProperties в объектной модели SharePoint JavaScript

В приведенном ниже примере кода показано, как получить свойства профиля целевого пользователя с помощью запроса к объекту PersonProperties и его свойству userProfileProperties. Он показывает, как:

Получить объект PersonProperties, который представляет целевого пользователя, с помощью метода getPropertiesFor. Чтобы получить объект PersonProperties для текущего пользователя, используйте метод getMyProperties.

Получить свойство непосредственно из объекта PersonProperties. Этот пример получает свойство displayName.

Получить свойство из свойства userProfileProperties объекта PersonProperties. В этом примере показано, как получить свойство Department.

Вставьте приведенный ниже код между тегами script, добавленными в файл UserProfiles.aspx в ходе выполнения действий из раздела Создание страницы приложения. Замените значение заполнителя domainName\\userName , прежде чем запускать код. В этом примере кода не используется файл классов кода программной части.

Пример кода. Получение набора свойств профиля пользователя с помощью метода getUserProfilePropertiesFor в объектной модели JavaScript SharePoint

Приведенный ниже пример кода получает значения указанного набора свойств профиля целевого пользователя с помощью метод getUserProfilePropertiesFor. Он показывает, как:

Создать объект UserProfilePropertiesForUser, который задает целевого пользователя и получаемые свойства профиля. Этот пример получает свойства PreferredName и Department.

Получить значения указанных свойств с помощью метода getUserProfilePropertiesFor, передав их в объект UserProfilePropertiesForUser. Чтобы получить значение только одного свойства профиля пользователя, используйте метод getUserProfilePropertyFor.

📎📎📎📎📎📎📎📎📎📎