2016-04-03 5 views
1

Я прочитал этот пост: Bing search API and AzureБазовая проверка подлинности Bing Search API

И я использовал следующий код, чтобы имитировать его:

<?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, поэтому вы необходимо установить их, пожалуйста, см. это answer и правильно установить HTTP-заголовки, а также сделать свой вызов ajax, как указано here

Смежные вопросы