Bing API v1文档

时间:2013-03-06 10:06:32

标签: c# bing bing-api

有谁知道我在哪里可以找到Bings API的最新文档,其中包含以下URL:

https://api.datamarket.azure.com/Bing/Search/v1/Web

即使他们自己的网站在我正在阅读的文档中也有错误的网址,即https://api.datamarket.azure.com/Bing/SearchWeb/Web无效。

我可以让搜索工作并返回结果,但无法获得总记录数,如果我使用复合,我可以得到记录计数但没有结果。

我只是在寻找一个如何获得计数和结果的最新例子。

这是我到目前为止所做的:

public class GetBingTotalRecordCount
{
    public IEnumerable<DisplayBingWebSearch> DisplayBingSearchResults(string q)
    {
        string BingID = ConfigurationManager.AppSettings["Bing_WebSearchID"];
        string BingWebSearch
            = ConfigurationManager.AppSettings["Bing_WebSearchURL"];
        var BingContainer = new Bing.BingSearchContainer(new Uri(BingWebSearch));
        BingContainer.Credentials = new NetworkCredential(BingID, BingID);
        var query = BingContainer.Composite("Web", HttpUtility.UrlEncode(q),
            "EnableHighlighting", "DisableQueryAlterations", "en-GB", "Strict",
            null, null, null, null, null, null, null, null, null
        ).Execute().First();

        List<DisplayBingWebSearch> data = new List<DisplayBingWebSearch>();
        foreach (var results in query.Web)
        {
            data.Add(new DisplayBingWebSearch() {
                 WebTitle = results.Title
            });
        }
        return data;
    }
}

1 个答案:

答案 0 :(得分:2)

您必须执行自己的计数和分页。

results.Count来自你的foreach语句将得到返回的记录数。

每个查询最多有50个结果,您可以使用指定最大结果计数 $ top = x其中x是您想要的最大结果。

例如:https://user:yourAccountKey@api.datamarket.azure.com/Bing/SearchWeb/Web?Query=%27leo%20fender%27&Market=%27en-US%27&$top=50&$format=JSON"

Bing现在在查询中使用OData参数,因此$ top将是要返回的结果数,$ skip是偏移量。

可以在http://go.microsoft.com/fwlink/?LinkID=252146

找到包含$ top和$ skip示例的常见问题解答

可以在http://go.microsoft.com/fwlink/?LinkID=248077

找到不太有用的迁移指南