使用JSON结果示例Bing搜索HTTP请求?

时间:2012-10-08 20:56:55

标签: json bing

请帮助找出以JSON格式返回结果的Bing搜索请求的参数。 文档“迁移Bing Search API应用程序”告诉我们: “要使用Windows Azure Marketplace验证Bing Search API请求,您必须获取帐户密钥。此身份验证模式将替换Bing Search API 2.0中使用的AppID。”

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

以下要求: curl“https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query =%27xbox%27& $ top = 50& $ format = json $ accountKey = TPP .... VRTWiq4 = $ APPID =概念创始者“

导致以下错误: 您提供的授权类型不受支持。仅支持Basic和OAuth

请举例说明可以在CURL命令行中使用的搜索Bing URL,以获取JSON格式的搜索结果。

3 个答案:

答案 0 :(得分:8)

您需要在基本身份验证标头中将您的应用密钥作为Base64编码字符串发送。

Authorization: Basic {{ encoded_app_key }}

BTW上一个答案链接到旧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

答案 1 :(得分:1)

现在,您应该只使用datamarket.azure样式的API调用。旧的不能再工作了。身份验证的一个重要区别是您不需要在查询URL中包含AppID。弹出一个身份验证窗口,您只需提供默认帐户密钥(或您在帐户中创建的任何密钥)。见very good summary of new Bing API

答案 2 :(得分:1)

所有这些答案现在已经过时了。您必须使用JSONP才能将请求发送到其他URL。

在ajax请求中使用:

输入:'POST', jsonp:“jsonp”,