如何获取用户配置文件管理器属性的显示名称

时间:2015-12-06 23:52:30

标签: sharepoint-2013 sharepoint-online sharepoint-userprofile

当我为SharePoint人物搜索编写自定义显示模板时,我想显示搜索到的用户的管理员。当我显示从SharePoint人员搜索返回的管理器值时,它显示如下:

  

I:0#.F |成员| lpalmer@xyz.com

我想在SharePoint显示模板中显示显示而不是帐户名称。如果可以使用JavaScript或仅通过对SharePoint用户配置文件属性更改执行某些配置,请告诉我。

1 个答案:

答案 0 :(得分:1)

仅使用配置无法完成此操作。您需要使用搜索服务返回的登录名来查询User Profile Service并获取显示名称。

要获得任何财产,您可以使用以下内容:

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);
                    }
                });
        }

- 希望它有帮助