HTTP-запрос Bing Search с примером результата JSON?

Пожалуйста, помогите определить параметры запроса Bing Search, который возвращает результаты в формате JSON.
Document Migration Bing Search API Applications сообщает нам:
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

Приведите пример URL-адреса поиска Bing, который можно использовать в командной строке CURL для получения результатов поиска в формате JSON.


person dokondr    schedule 08.10.2012    source источник


Ответы (3)


Теперь следует использовать только вызовы API в стиле datamarket.azure. Старый уже не может работать. Большая разница в аутентификации заключается в том, что вам не нужно включать свой AppID в URL-адрес запроса. Появится окно аутентификации, и вам нужно просто указать ключ учетной записи по умолчанию (или любой ключ, который вы создали в своей учетной записи). См. этот очень хороший обзор нового API Bing.

person Leo5188    schedule 12.10.2012

Вам необходимо отправить ключ приложения в виде строки в кодировке Base64 в базовом заголовке аутентификации.

Authorization: Basic {{ encoded_app_key }}

Кстати, предыдущий ответ ссылается на обзор старого API-интерфейса Bing, поэтому он бесполезен, если вы используете 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

person user2453026    schedule 24.07.2013
comment
Для encoded_app_key вам нужно добавить символ :. Итак, заголовок: Authorization: Basic :{{ base-64 encoded account_key }} - person Daniel Winterstein; 28.07.2015

Все эти ответы уже устарели. Вы должны использовать JSONP, чтобы сделать запрос на другой URL.

В запросе ajax используйте:

тип: 'POST', jsonp: "jsonp",

person Ophiucus    schedule 16.03.2017