2016-04-03 9 views
1

ich diesen Beitrag gelesen habe: Bing search API and AzureStandardauthentifizierung von Bing Search API

Und ich habe den folgenden Code, es zu imitieren:

<?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; 

} 
?> 

Mein AJAX-Aufruf ist:

var bingquery = "bingquery=" + $('#query').val(); 

    $.ajax({ 
     url: "bingsearch.php", 
     method: "get", 
     dataType: "json", 
     data: bingquery, 
     success: function(jsondata){ 
      console.log(jsondata); 
     } 
     }); 

Ich kann jedoch immer noch keine JSON-Formatdaten von Bing Search erhalten, keine Vorschläge? Vielen Dank für deine Hilfe!

Antwort

1

Wenn ich richtig verstanden habe, versuchen Sie, etwas wie Proxy für Ihren Anruf zu machen .. aber Sie haben nicht Ihre HTTP-Header-Felder richtig eingestellt, wie Ihre PHP-Datei von api.datamarket.azure.com erhält, also Sie müssen diese setzen Sie bitte diese answer und HTTP-Header richtig einstellen und auch Ihren Ajax Anruf wie erwähnt here