Sharepoint 2013 Add-in JSOM如何从特定域获取用户配置文件?

时间:2016-04-15 12:38:32

标签: sharepoint sharepoint-2013 sharepoint-userprofile sharepoint-jsom

在组织部署的sharepoint farm 2013中。

在User Profile Service设置中,在三个不同的域中创建了三个连接。

我需要从一个特定域(连接)获取所有用户配置文件。

有谁知道如何从特定域获取用户个人资料?

我有这段代码:

function getAllUsers() {
    var clientContext = new SP.ClientContext.get_current();
    var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(clientContext);
    keywordQuery.set_queryText(searchTerm);        
    keywordQuery.set_sourceId("B09A7990-05EA-4AF9-81EF-EDFAB16C4E31");
    keywordQuery.set_rowLimit(rowsPerPage);
    keywordQuery.set_trimDuplicates(false);;
    keywordQuery.set_startRow(startRow);

    var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(clientContext);   
    results = searchExecutor.executeQuery(keywordQuery);          
    clientContext.executeQueryAsync(onQuerySuccess, onQueryError);
}

我在搜索结果中找不到这样的属性

也许我以某种方式使用此属性SPS-SourceObjectDN?但是如何?

1 个答案:

答案 0 :(得分:0)

论坛上的Rajesh.Sitaraman https://social.technet.microsoft.com/Forums/en-US/512be815-c8dc-4669-a3d2-d3d2f731779c/sharepoint-2013-addin-jsom-how-to-get-users-profiles-from-specific-domain-?forum=sharepointdevelopment&prof=required 建议在CA中创建或更改结果源。

我拒绝了此变体并在应用中处理搜索结果

        var index = users[i].indexOf("@");
        var domainName = users[i].slice((index + 1), users[i].length);
        if ($.inArray(domainName, domains) > -1) {..}