2017-05-12 7 views
0

빙 (Bing)은 수개월 전에 Search API의 새로운 버전 (2)을 발표했습니다. MS인지 서비스는 새로운 검색 API 피 가공 예는 XML 응답과 함께하고 전화를 만들지 만, 그 결과를 디코딩하지 않는 경우에만 일부 C# 예제가 그러나 2
https://dev.cognitive.microsoft.com/docs/services/56b43f0ccf5ff8098cef3808/operations/571fab09dbe2d933e891028fC#에서 Bing 2 API의 PostAsync 응답을 구문 분석하는 방법은 무엇입니까?

사용 예제를 제공합니다.

반환 된 개체를 실제 이미지 또는 이미지 URL로 구문 분석하기 위해 샘플 코드를 설명하거나 계속할 수 있습니까? 아래 코드에서 "content"변수의 형식은 ByteArrayContent이지만이 배열에서 정보를 가져 오기 위해 필요한 것은 무엇입니까? "응답"변수는 HttpResponseMessage 유형이지만 이미지 또는 이미지 URL을 추출하는 방법은 무엇입니까?

이렇게하면 응용 프로그램에서 하나 이상의 반환 된 이미지를 선택하고 표시 할 수 있습니다.

많은 감사합니다, 여기에

는 C# 코드 샘플입니다 : 일부 시험 & 오류 후

using System; 
using System.Net.Http.Headers; 
using System.Text; 
using System.Net.Http; 
using System.Web; 

namespace CSHttpClientSample 
{ 
    static class Program 
    { 
     static void Main() 
     { 
      MakeRequest(); 
      Console.WriteLine("Hit ENTER to exit..."); 
      Console.ReadLine(); 
     } 

     static async void MakeRequest() 
     { 
      var client = new HttpClient(); 
      var queryString = HttpUtility.ParseQueryString(string.Empty); 

      // Request headers 
      client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", 
      "{subscription key}"); 

      // Request parameters 
      queryString["q"] = "cats"; 
      var uri = 
       "https://api.cognitive.microsoft.com/bing/v5.0/images/search?" 
       + queryString; 

      HttpResponseMessage response; 

      // Request body 
      byte[] byteData = Encoding.UTF8.GetBytes("{body}"); 

      using (var content = new ByteArrayContent(byteData)) 
      { 
       content.Headers.ContentType = new MediaTypeHeaderValue(
       "< your content type, i.e. application/json >"); 
       response = await client.PostAsync(uri, content); 
      } 

     } 
    } 
} 

답변

1

, 나는 다음과 같은 코드를 삽입하는 것은 먼저 검색 "응답"문자열로 다음 변환 발견 Bing의 다양한 검색 결과에 대해 파싱 할 수있는 JSON 객체로 변환합니다.

using Newtonsoft.Json; 
.... 
.... 
response = await client.PostAsync(uri, content); 

if (response.IsSuccessStatusCode) 
{ 
    Stringr str = await response.Content.ReadAsStringAsync(); 

    dynamic json = JsonConvert.DeserializeObject(str); 
} 
0

Here, 당신은 너무 그것에서 ... 웹 검색, 사진, 뉴스를 얻을 수있는 빙 검색 API에 대한 클라이언트 API를 사용하기 정말 쉽습니다. 다음은 C#의 Bing 검색에서 사진을 가져 오는 방법을 보여주는 작은 예제입니다.

SearchResult result = await BingSearchHelper.Query("Bill Gates", new BingQueryParameters(apiKey: "APPKEY", count: 10, offset: 0, mkt: "en-us", safeSearch: "Moderate")); 

Console.WriteLine(result.images.value[0].thumbnailUrl); 

JSON 또는 XML 변환이 필요하지 않습니다. 도움이되기를 바랍니다.