Базовая аутентификация 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-вызов, как упоминалось здесь

Другие вопросы по тегам