SearchExecutor(JSOM)未从Sharepoint在线用户配置文件

时间:2017-07-01 12:39:28

标签: sharepoint-online sharepoint-apps sharepoint-search sharepoint-jsom sharepoint-userprofile

我正在尝试从Sharepoint托管应用在SharePoint在线用户配置文件中执行人员搜索,但它不返回任何数据。

我正在使用以下代码执行此操作:

clientContext = new SP.ClientContext.get_current();

// Building Keyword query for the search
var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(clientContext);

keywordQuery.set_queryText("mohammed");
keywordQuery.set_sourceId("B09A7990-05EA-4AF9-81EF-EDFAB16C4E31");
keywordQuery.set_rowLimit(500);
keywordQuery.set_trimDuplicates(false);

var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(clientContext);
results = searchExecutor.executeQuery(keywordQuery);

clientContext.executeQueryAsync(
            function () {
                alert(results.m_value);
            },
            function (err) {
                alert("Error");
            }
        );

我正在尝试搜索包含“穆罕默德”文字的用户个人资料。

searchExecutor.executeQuery(keywordQuery)执行时没有任何错误,但results.m_value返回0.如果我从results.m_value获得值,那么我可以使用PeopleManager来阅读UserProfile属性

注意:我的用户为 Mohammed Arief Kannubasha

任何人请提前建议,谢谢

1 个答案:

答案 0 :(得分:0)

试试这个

keywordQuery.set_queryText("mohammed*");