gpt4 book ai didi

botframework - Microsoft 认知服务 Web 搜索 API - 反序列化问题

转载 作者:行者123 更新时间:2023-12-02 21:10:38 24 4
gpt4 key购买 nike

我想学习认知服务 Web 搜索 API,因此我开始创建一个机器人应用程序。我已经有一个帐户子 key 和其他必需的信息,我也阅读了很多文章并观看了有关此的构建 2016 视频。我在反序列化结果时遇到了麻烦。我无法找到可以用来执行此操作的代理类。我使用的网址是 https://api.cognitive.microsoft.com/bing/v5.0/search/我找到了以前的 api 版本的代理类。谁能告诉我如何在 VS 2015 中获取这些服务的 api 请求/响应的代理类。

我的代码如下所示:

  string BingSearchUrl =  "https://api.cognitive.microsoft.com/bing/v5.0/search/";
const string bingKey = "Key";

public static async Task<string> Search(string query)
{
var client = HttpClientFactory.Create();
var queryString = BingSearchUrl + "?q=" + query + "&count=10";
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", bingKey);
client.DefaultRequestHeaders.Add("Accept", "application/json");

// Request parameters
string r = await client.GetStringAsync(queryString);
var jsonResult = JsonConvert.DeserializeObject<Bing.ExpandableSearchResult>(r);

return jsonResult.Web.First().Title;

最佳答案

尝试下面的代码

  public string BingSearchUrl = "https://api.cognitive.microsoft.com/bing/v5.0/search/";
const string bingKey =[KEY];

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

// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", bingKey);

// Request parameters
queryString["q"] = "microsoft";
queryString["count"] = "10";
queryString["offset"] = "0";
queryString["mkt"] = "en-us";
queryString["safeSearch"] = "Moderate";
var uri = "https://api.cognitive.microsoft.com/bing/v5.0/news/search?" + queryString;

var response = await client.GetStringAsync(uri);
var jsonResult = JsonConvert.DeserializeObject<BingJson>(response);

string title = jsonResult.value[0].name.ToString();

}

使用jsonResult.value[0],您可以循环遍历结果。第一个结果位于 [0] 位置。

我创建了一个模型类,查看 bing 搜索响应 json。看起来像,

 public class BingJson
{
public string _type { get; set; }
public Instrumentation instrumentation { get; set; }
public string readLink { get; set; }
public int totalEstimatedMatches { get; set; }
public Value[] value { get; set; }
}

public class Instrumentation
{
public string pingUrlBase { get; set; }
public string pageLoadPingUrl { get; set; }
}

public class Value
{
public string name { get; set; }
public string url { get; set; }
public string urlPingSuffix { get; set; }
public Image image { get; set; }
public string description { get; set; }
public About[] about { get; set; }
public Provider[] provider { get; set; }
public DateTime datePublished { get; set; }
public string category { get; set; }
}

public class Image
{
public Thumbnail thumbnail { get; set; }
}

public class Thumbnail
{
public string contentUrl { get; set; }
public int width { get; set; }
public int height { get; set; }
}

public class About
{
public string readLink { get; set; }
public string name { get; set; }
}

public class Provider
{
public string _type { get; set; }
public string name { get; set; }
}

关于botframework - Microsoft 认知服务 Web 搜索 API - 反序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38164481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com