2016-11-16 10 views
1

Ich arbeite an einem Projekt in Udacitys Web-Entwicklung Nanodegree-Kurs. Ich entschied mich für Restaurant-Informationen und generierte meinen API-Schlüssel. Wenn ich es jedoch in einem AJAX-Objekt verwende, um Daten zu erhalten, zeigen die Dev-Tools den Fehler "Ungültige API" an. Die API ist jedoch korrekt. Bitte helfen Sie.Zugriff auf Zomato-APIs nicht möglich JSON-Objekt

Hier ist mein Code:

$(document).ready(function(){ 
$("button").click(function(){ 
    $.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID", { "Accept": "application/json", "user-key": 'MY_API_KEY' }, function(data, status){ 
     alert("Data: " + data + "\nStatus: " + status); 
    }); 
}); 

});

Hier ist Zomato Dokumentation:

Curl:

curl -X GET --header "Accept: application/json" --header "user-key: MY_API" "https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID" 

URL:

https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID 

Bitte beachten Sie, dass das Restaurant ID und API ich korrekt verwendet wurden. Ich weiß nicht viel von PHP, also weiß ich nicht was Curl bedeutet.

Antwort

3

Bitte versuchen Sie das unten Stück Code:

$(document).ready(function(){ 
    $("button").click(function(){ 
    $.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY", function(data, status){ 
     alert("Data: " + data + "\nStatus: " + status); 
    }); 
    }); 
}); 

jedoch das obige Verfahren ist aufgrund von Sicherheitsproblemen abgeraten. Sie können auf die Zomato-API zugreifen, indem Sie Server-zu-Server-Aufrufe in PHP verwenden, indem Sie einen Handler auf Ihrem Server-Ende schreiben, der vom Button-Klick-Ereignis als Ajax-Aufruf aufgerufen werden kann. Hier ist der Beispiel-PHP-Handler:

$curl_channel = curl_init('https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY'); 
curl_setopt($curl_channel, CURLOPT_RETURNTRANSFER, true); 
$curl_response = curl_exec($curl_channel); 
curl_close($curl_channel); 
//Convert output to object 
$curl_output = json_decode($curl_response); 
Verwandte Themen