Базовая аутентификация Bing Search API
Я прочитал этот пост: API поиска Bing и Azure
И я использовал следующий код для имитации:
<?php
if (isset($_GET['bingquery'])){
// Replace this value with your account key
$accountKey = '***myaccountkey***';
$WebSearchURL = 'https://api.datamarket.azure.com/Bing/Search/v1/' + 'News?$format=json&Query=';
$cred = sprintf('Authorization: Basic %s', base64_encode($accountKey . ":" . $accountKey) );
$context = stream_context_create(array(
'http' => array(
'header' => $cred
)
));
$request = $WebSearchURL . urlencode( '\'' . $_GET["bingquery"] . '\'');
$response = file_get_contents($request, 0, $context);
echo $response;
}
?>
Мой AJAX-вызов:
var bingquery = "bingquery=" + $('#query').val();
$.ajax({
url: "bingsearch.php",
method: "get",
dataType: "json",
data: bingquery,
success: function(jsondata){
console.log(jsondata);
}
});
Однако я все еще не могу получить данные формата JSON из Bing Search, есть предложения? Спасибо большое за вашу помощь!
1 ответ
Решение
Если я правильно понял, вы пытаетесь сделать что-то вроде прокси для вашего звонка... но вы не установили свои поля заголовка HTTP должным образом, как ваш php-файл получает от api.datamarket.azure.com, поэтому вам нужно установить те пожалуйста, посмотрите этот ответ и правильно установите заголовки HTTP, а также сделайте ваш AJAX-вызов, как упоминалось здесь