Как получить отображаемое имя свойства менеджера профилей пользователей

Когда я писал настраиваемый шаблон отображения для поиска людей в SharePoint, я хотел отобразить менеджера искомого пользователя. Когда я отображаю значение менеджера, возвращенное из поиска людей SharePoint, оно отображается следующим образом:

i:0#.f|членство|[email protected]

Я хочу отображать отображение вместо имени учетной записи в моем шаблоне отображения SharePoint. Сообщите мне, можно ли это сделать с помощью JavaScript или просто выполнив некоторые настройки при изменении свойств профиля пользователя SharePoint.


person Chinthaka Wimalaratna    schedule 06.12.2015    source источник


Ответы (1)


Это невозможно сделать, используя только конфигурации. Вам нужно будет запросить службу профилей пользователей и получить отображаемое имя, используя имя входа, которое возвращает служба поиска.

Для получения любого свойства вы можете использовать что-то вроде этого:

function getProfilePropertyValueFromLoginName(loginName, propertyName, success, error) {
            // Get the current client context and PeopleManager instance.
            var clientContext = new SP.ClientContext.get_current();
            var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);

            // Get user properties for the target user.
            // To get the PersonProperties object for the current user, use the
            // getMyProperties method.
            var personProperties = peopleManager.getPropertiesFor(loginName);

            // Load the PersonProperties object and send the request.
            clientContext.load(personProperties);
            clientContext.executeQueryAsync(
                function () {

                    if (success) {
                        success(loginName, personProperties.get_userProfileProperties()[propertyName]);
                    }
                }, function (sender, args) {
                    if (error) {
                        error(sender, args);
                    }
                });
        }

-Надеюсь, поможет

person Rodrigo Molinas    schedule 02.03.2016