请帮助找出以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格式的搜索结果。
答案 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);
});
答案 1 :(得分:1)
现在,您应该只使用datamarket.azure样式的API调用。旧的不能再工作了。身份验证的一个重要区别是您不需要在查询URL中包含AppID。弹出一个身份验证窗口,您只需提供默认帐户密钥(或您在帐户中创建的任何密钥)。见very good summary of new Bing API
答案 2 :(得分:1)
所有这些答案现在已经过时了。您必须使用JSONP才能将请求发送到其他URL。
在ajax请求中使用:
输入:'POST', jsonp:“jsonp”,