2016-12-28 6 views
0

ich jQuery bin mit einem Benutzer neuesten Instagram Bild wie folgt zu analysieren:Parse Instagram JSON mit jQuery

 $.getJSON(instagram_url, function(data) { 
     var latestPic = data.images; 
     console.log(latestPic); 
     }); 

aber eine Fehlermeldung in den Entwickler-Tools erhalten sagen

XMLHttpRequest nicht https://api.instagram.com/v1/users/ laden { user_id}/media/recent /? access_token = ACCESS_TOKEN. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin 'null' ist daher nicht erlaubt.

Ich bin mir nicht sicher, was das bedeutet, da ich eine JSON-Antwort bekomme, wenn ich meine URL in den Browser einfüge. Kann jemand richtig damit umgehen?

Vielen Dank im Voraus

+2

aufgerufen. Dies ist eine Sicherheitsfunktion, die Menschen daran hindert, die Website-Daten anderer Personen ohne Erlaubnis zu verwenden. Entweder erhalten Sie die Erlaubnis (oder fordern Sie es von Ihrem Server anstelle Ihrer Browser-App;)) –

+0

@GoneCoding Vielen Dank für die schnelle Antwort, aber der Fehler ist aufgrund der Benutzer_ID, die ich ausgewählt habe (123456). Also habe ich diese gefälschte ID mit meiner eigenen ID ersetzt und jetzt sollten Sie in der Lage sein, meine Situation zu sehen – boehmatron

+2

Ich meine, die Erlaubnis, ihre API zu verwenden :) Einige Server können den domainübergreifenden Zugriff basierend auf den Anforderungsdaten dynamisch aktivieren. –

Antwort

0

Dies ist ein Cross Origin Problem, ist nur "callback=?" in der URL.

oder verwenden $.ajax() mit "JSONP":

$.ajax({ 
    url: Url, 
    method: 'GET', 
    dataType: 'jsonp', 
    data: apiData, 
    success: handleData 
}) 
0

Sie können dies umgehen, indem JSONP mit (instagram unterstützt). siehe https://www.instagram.com/developer/endpoints/

https://api.instagram.com/v1/tags/coffee/media/recent?access_token=ACCESS-TOKEN&callback=myCallBackHandler 

Server reagiert mit

myCallBackHandler({ 
    ... 
}); 

eine Funktion definieren, genannt myCallBackHandler und setzen Sie Ihre Logik in diesem. Ihre Funktion wird mit der Antwort JSON