0

在 Windows Azure Marketplace 中使用 Bing 搜索 API(即替换旧 Bing 2.0 API 的 API,于 2012 年 8 月 1 日到期)。Microsoft 提供的迁移指南指出:

如果没有更多的结果页面,该/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 文档?)

4

2 回答 2

0

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

我认为问题在于 BingSearchContainer 正在“修复”您的查询并将您搞砸。尝试以下操作:

然后尝试不带“标记的查询。它可能会成功并返回结果。

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

我认为容器默认将所有查询作为单个短语匹配转义。因此,只需添加搜索即可。现在,当您确实有两个短语需要搜索时……我也无法开始工作。

于 2012-08-13T22:03:18.517 回答
0

我无法再重现这个:响应现在包含一个link元素。

我想必应的家伙在此期间已经解决了这个问题。

于 2012-11-01T10:33:27.253 回答