2012-07-26 25 views
0

我在Windows Azure Marketplace(即替換舊版Bing 2.0 API的API在2012年8月1日到期)中使用了Bing搜索API。由微軟提供的Migration Guide指出:Bing API Azure Marketplace:如何知道是否有更多結果?

如果有結果沒有更多的頁面,/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的可靠文件?)

+0

我認爲提供$ skip = 0查詢參數可以解決問題。不幸的是,它並不總是如此。 – Hbf 2012-07-26 16:15:27

回答

0

我再也不能這樣了:現在回覆包含link元素。

我想Bing人已經解決了這個問題。

0

有一件事是更新您的BingSearchContainer.cs - 我發現有一箇舊版本,當我第一次開始使用它,導致我這樣的問題的各種問題。當我更新了很多東西開始工作。

我認爲問題在於BingSearchContainer會「修復」您的查詢並將您搞亂。請嘗試以下操作:

然後嘗試做查詢沒有「標記它可能會成功,返回結果

嘗試使用」相反,你可能會得到一些結果

我想。容器在默認情況下將所有查詢作爲單個短語匹配進行轉義,因此只需添加搜索就可以工作,現在當您確實有兩個短語時,您需要搜索...我還無法正常工作

+0

謝謝,賈森,您的意見。我看不到BingSearchContainer.cs在哪裏出現 - 問題已經顯示在Web請求本身的結果中(請參閱上面的URL)。 IIUC,BingSearchContainer.cs不涉及此。 – Hbf 2012-10-10 23:37:00

相關問題