//You may wish to replace this code with your preferred library for posting and receiving JSON data. private static SearchForImagesResponse MakeWebRequest(string requestUrl, SearchForImagesRequest request) { var webRequest = WebRequest.Create(requestUrl) as HttpWebRequest; webRequest.Method = "POST"; webRequest.ContentType = "application/json"; var jsonSerializer = new JavaScriptSerializer(); var requestStr = jsonSerializer.Serialize(request); Debug.WriteLine(requestStr); using (var writer = new StreamWriter(webRequest.GetRequestStream())) { writer.Write(requestStr); writer.Close(); } var response = webRequest.GetResponse() as HttpWebResponse; string jsonResult; using (var reader = new StreamReader(response.GetResponseStream())) { jsonResult = reader.ReadToEnd(); reader.Close(); } Debug.WriteLine(jsonResult); return(jsonSerializer.Deserialize <SearchForImagesResponse>(jsonResult)); }
// token received from CreateSession/RenewSession API call public SearchForImagesResponse Search(string token, string searchTerm) { var searchForImagesRequest = new SearchForImagesRequest { RequestHeader = new RequestHeader { Token = token }, SearchForImages2RequestBody = new SearchForImages2RequestBody { Query = new Query { SearchPhrase = searchTerm }, Filter = new Filter { ImageFamilies = new List <string> { "Creative" } }, ResultOptions = new ResultOptions { ItemCount = 50, ItemStartNumber = 1 } } }; return(MakeWebRequest(Constants.SearchForImagesRequestUrl, searchForImagesRequest)); }