1

我正在尝试根据 Microsoft 提供的教程使用 Bing 搜索 Api。它看起来像这样:

        string query = "Xbox Live Games";
        string rootUrl = "https://api.datamarket.azure.com/Bing/Search";
        var bingContainer = new BingSearchContainer(new Uri(rootUrl));
        string market = "en-us";
        bingContainer.Credentials = new NetworkCredential("AccountKey", "AccountKey");
        var webQuery = bingContainer.Web(query, null, null, market, null, null, null, null);
        webQuery = webQuery.AddQueryOption("$top", 10);
        var webResults = webQuery.Execute();
        foreach (var result in webResults)
        {
            Console.WriteLine("{0}\n\t{1}", result.Title, result.Url);
        }   

我已将 api 添加为服务参考

在此处输入图像描述

在我看来一切都很好!但是为什么哦为什么我不能使用 . .Web() 方法?? 在此处输入图像描述

4

1 回答 1

1

您的错误是将示例中的 url 添加为服务引用,而不是添加您可以从 Microsoft 获得的代理类。如果您正在查看与我相同的 bing API 教程,它会在代码示例上方显示:

创建 .NET Framework C# 应用程序非常简单。您需要做的大部分工作都由 Microsoft .NET Framework C# 服务代理类库为您处理。您可以通过单击以下链接下载必应搜索 API 的服务代理:https ://datamarket.azure.com/dataset/explore/getproxy/5ba839f1-12ce-4cce-bf57-a49d98d29a44 。

因此,您需要下载代理类并使用它,而不是将 bing api 添加为服务引用。将代理类添加到项目后,示例将找到bingContainer.Web方法并正常编译:

代理类

希望这也是不言而喻的,但您需要一个有效的帐户密钥 - NetworkCredential("AccountKey", "AccountKey");不会削减它。

于 2013-10-23T15:16:26.203 回答