必应 API - 将必应搜索容器 C# 类与搜索 API 结合使用

本文关键字:搜索 API 结合 必应 | 更新日期: 2023-09-27 17:57:04

我创建了一个应用程序,我需要通过它使用 Bing 进行搜索。我安装了Bing库,在搜索有关如何使用这个东西的说明一两个小时后,我终于在Microsoft自己的文档中找到了一个例子(太棒了!他们做了这样的东西!我的代码如下所示:

Uri rootUri = new Uri("https://api.datamarket.azure.com/Bing/SearchWeb/Web/");
BingSearchContainer bingContainer = new BingSearchContainer(rootUri);
bingContainer.Credentials = new NetworkCredential(AppID, AppID);
var SearchQuery = bingContainer.Web("site:" + domain + " inanchor:" + querystring, null, null, null, null, null, null, null);
var SearchResults = SearchQuery.Execute();

运行应用程序会生成以下异常

A first chance exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in System.Data.Services.Client.dll
An unhandled exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in System.Data.Services.Client.dll
Additional information: An error occurred while processing this request.

中断发生在带有bingContainer.Web(...)的行上在这个例子中,我遵循第 5 页上的示例。

必应 API - 将必应搜索容器 C# 类与搜索 API 结合使用

似乎显式定义 SearchQuery 和 SearchResults 变量的类型解决了这个问题:

DataServiceQuery<WebResult> SearchQuery = bingContainer.Web("site:" + domain + " inanchor:" + querystring, "en-us", null, null, null, null, null, null);
IEnumerable<WebResult> SearchResults;