Bing API Azure Marketplace:如何知道是否有更多结果?

时间:2012-07-26 15:49:17

标签: bing-api

我正在使用Windows Azure Marketplace中的 Bing搜索API (即替换旧的Bing 2.0 API的API,该API将于2012年8月1日到期)。 Microsoft提供的Migration Guide声明:

  

如果没有更多结果页面,则/feed/link[@rel=’next’]属性将不再显示[...]。

然而,似乎并非总是如此。例如,"Roger Federer"的新闻查询不包含link元素:

请求: https://api.datamarket.azure.com/Data.ashx/Bing/Search/News?Query=%27"Roger+Federer"%27

响应:

<feed xmlns:base="https://api.datamarket.azure.com/Data.ashx/Bing/Search/News"
    xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
    xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
    xmlns="http://www.w3.org/2005/Atom">
    <title type="text">"Roger Federer"</title>
    <subtitle type="text">Bing News Search</subtitle>
    <id>https://api.datamarket.azure.com/Data.ashx/Bing/Search/News?Query='"Roger Federer"'</id>
    <rights type="text"/>
    <updated>2012-07-26T15:43:03Z</updated>
    <entry>
        <!-- ... -->
    </entry>
    <!-- ... -->
</feed>

尽管如此,还有更多新闻:https://api.datamarket.azure.com/Data.ashx/Bing/Search/News?Query=%27"Roger+Federer"%27&$skip=50

有人知道问题出在哪里吗? (或者有可靠的API文档?)

2 个答案:

答案 0 :(得分:0)

要做的一件事是更新你的BingSearchContainer.cs - 我发现当我第一次使用它时有一个旧版本导致我这样的各种问题。当我更新了许多东西开始工作。

我认为问题在于BingSearchContainer正在“修复”您的查询并搞砸了您。请尝试以下方法:

然后尝试在没有“标记的情况下进行查询。它可能会成功并返回结果。

尝试使用'代替,你可能会得到一些结果。

我认为默认情况下,容器会将所有查询转义为单个词组匹配。所以只需添加搜索即可。现在当你确实有两个短语时,你需要搜索......我也无法工作。

答案 1 :(得分:0)

我再也无法重现:现在,响应包含link元素。

我想Bing家伙已经解决了这个问题。