Sep 15 2017 08:47 AM
Hello,
I want to integrate the similar functionality as that of Search Result webpart to get all the sites that I have access to. However, I didn't find any rest api that can do it and I am not sure what could be possibly the best approach.
I looking for a direction that can help me create my first non-tutorial webpart.
Thank you.
Sep 15 2017 09:39 AM
Search results are security trimmed no matter what so it's just a matter of using the search REST API in your web part to filter on site/web objects.
I've had some success using the following query expression with the contentclass managed property:
contentclass:"sts_site" OR contentclass:"sts_web"
Sep 20 2017 11:14 AM
Hello Paul,
Thank you for the references.
I tried using the search api by changing the query in Microsoft Hello World tutorial. However, I am not able to get the proper response. I am using the following code. Can you possibly tell, what I could be doing wrong?
Code:
const spSearchConfig: ISPHttpClientConfiguration = {
defaultODataVersion: ODataVersion.v3
};
const clientConfigODataV3: SPHttpClientConfiguration = SPHttpClient.configurations.v1.overrideWith(spSearchConfig);
private _getListData(): Promise<ISPLists> {
return this.context.spHttpClient.get(this.context.pageContext.web.absoluteUrl + `/_api/search/query?contentclass:sts_web`, clientConfigODataV3)
.then((response: SPHttpClientResponse) => {
return response.json();
});
}
Thank you.
Sep 20 2017 08:12 PM
Notice my quotes around "STS_Web". That might help.
The best way to troubleshoot queries with the search query tool. You can find that here: https://github.com/SharePoint/PnP-Tools/tree/master/Solutions/SharePoint.Search.QueryTool
Could you also provide the fully-resolved query expression? The variables might be hiding some details.
Oct 03 2017 11:06 AM