2017-05-12 11 views
0

Bingは数か月前にSearch APIの新しいバージョン(2)を公開しました。 MS認知サービスが働い例がXML応答であり、呼び出しを行いますが、結果をデコードしない唯一の部分C#の例があるが2
https://dev.cognitive.microsoft.com/docs/services/56b43f0ccf5ff8098cef3808/operations/571fab09dbe2d933e891028fC#でBing 2 APIのPostAsync応答を解析する方法は?

彼らの新しい検索APIの使用例を提供します。

返されたオブジェクトを実際のイメージまたはイメージURLに解析するために、サンプルコードを説明または続行できますか?以下のコードでは、 "content"変数はByteArrayContent型ですが、この配列から情報を取得するためには何が必要ですか? "response"変数の型はHttpResponseMessageですが、そこからイメージやイメージURLを抽出する方法は?

これにより、アプリケーションは、返されたイメージの1つ以上を選択して表示することができます。

多くのおかげで、ここで

ティム

は、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あなたもウェブ検索、画像、ニュース...それからを得ることができ、Bingの検索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変換は、その目的でのみ使用する場合は必要ありません。 私はそれがあなたを助けてくれることを願っています。

関連する問題