Making SharePoint JSon calls from PowerShell in SharePoint 2013
The Invoke-RestMethod
in PowerShell 3 doesn’t send the appropriate header required by SharePoint 2013 to return JSon results. It took me a while to figure out this workaround.
$parameter = "my search text"
$encParam = [System.Web.HttpUtility]::UrlEncode("'$parameter'")
$url = "http://mysp2013site/_api/search/query?querytext=$encParam"
$wc = new-object System.Net.WebClient
$wc.UseDefaultCredentials = $true
$wc.Headers.Add("Accept", "application/json; odata=verbose")
$res = $wc.DownloadString($url)
$res