繁体   English   中英

带有 JSON 结果示例的 Bing 搜索 HTTP 请求?

[英]Bing Search HTTP request with JSON result example?

请帮助找出以 JSON 格式返回结果的 Bing 搜索请求的参数。
文档“迁移 Bing 搜索 API 应用程序”告诉我们:
To authenticate a Bing Search API request with Windows Azure Marketplace, you must obtain an account key. This mode of authentication replaces the AppID used in the Bing Search API 2.0.

另一方面,同一文档提供了以下仍然使用 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=conceptor"

导致以下错误:
The authorization type you provided is not supported. Only Basic and OAuth are supported

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

您需要在基本身份验证标头中将您的应用密钥作为 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

现在,您应该只使用 datamarket.azure 样式的 API 调用。 旧的不能再工作了。 身份验证的一个很大区别是您不需要在查询 URL 中包含您的 AppID。 弹出一个身份验证窗口,您只需要提供您的默认帐户密钥(或您在帐户中创建的任何密钥)。 看到这个非常好的新 Bing API 摘要

所有这些答案现在都过时了。 您必须使用 JSONP 才能向不同的 URL 发出请求。

在ajax请求中使用:

类型:'POST',jsonp:“jsonp”,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM