2012-10-08 27 views
4

請幫忙找出以JSON返回結果的必應搜索請求的參數。 「遷移必應搜索API應用程序」文檔告訴我們: 「要使用Windows Azure Marketplace驗證必應搜索API請求,您必須獲取一個帳戶密鑰。這種身份驗證模式取代了Bing Search API 2.0中使用的AppID。必應搜索帶有JSON結果示例的HTTP請求?

在另一方面同一個文檔提供了以下的例子,仍使用APPID: http://api.search.live.net/xml.aspx?Appid=App&query=odata&sources=web&count=2

以下請求: 捲曲「https://api.datamarket.azure.com/Data.ashx/Bing ?/ SearchWeb/V1/Web查詢=%27xbox%27 & $頂部= 50 & $格式= $ JSON = accountKey TPP .... VRTWiq4 = $的appid =概念創始者」

結果在以下錯誤: 的不支持您提供的授權類型。僅支持Basic和OAuth

請舉例說明可在CURL命令行中使用的搜索Bing URL,以JSON格式獲取搜索結果。

回答

1

現在,您應該只使用datamarket.azure樣式的API調用。舊的不能再工作了。認證的一大區別在於,您不需要在查詢網址中包含您的AppID。彈出一個驗證窗口,您只需提供您的默認帳戶密鑰(或您在帳戶中創建的任何密鑰)。看到這個very good summary of new Bing API

8

您需要將您的應用程序密鑰作爲Base64編碼字符串發送到基本身份驗證標頭中。

Authorization: Basic {{ encoded_app_key }} 

順便說一句以前的答案鏈接到一個老的Bing api的概述,因此如果你在數據市場api沒有用。

以下是您使用jQuery的示例。

$.ajax({ 
    type:'POST', 
    url:url, 
    headers: { 
     "Authorization": "Basic " + encodedAppKey 
    } 
}).done(function(data) { 
    alert(data); 
}); 

有用的鏈接:http://social.msdn.microsoft.com/Forums/windowsazure/en-US/9f085915-81b6-488d-a348-1c3ca769d44f/migrating-to-windows-azure-bing-search-api-with-jquery-jsonp

+0

對於encoded_app_key - 你需要預先設置一個:字符。所以頭部是:'Authorization:Basic:{{base-64 encoded account_key}}' –

1

所有這些問題的答案現在已經過時。您必須使用JSONP才能將請求發送到不同的URL。

在Ajax請求使用:

類型: 'POST', JSONP: 「JSONP」,