2016-04-16 3 views
0

Ich mache einen Ajax-Aufruf, um eine JSON-Antwort von der Soundcloud-API zu erhalten. Das Problem, das ich habe, ist, dass einige Tracks verboten sind (Fehler 403). Aber ich möchte immer noch die URL erhalten, bei der die GET-Anfrage endete, da sie die Track-ID enthält, die ich bekommen möchte. Hier ist der Code:Ajax bekomme Umleitungs-URL von 403 Fehler

function getSoundcloudId(url, callback) { 
$.ajax({ 
    type:"GET", 
    url: 'https://api.soundcloud.com/resolve.json?url=' + url + '&client_id=6d5bc62a483dce12f6f1d01bd93a0608', 
    dataType: "text", 
    success: function(data) { 
    var json = $.parseJSON(data); 
    callback(json); 
    }, 
    complete: function(xhr, textstatus) { 
    console.log(textstatus); 
    }, 
    error: function(jqXHR, status, error) { 
    console.log(jqXHR.getAllResponseHeaders()); 

    }, 
}); 
} 

Ich habe experimentiert und versucht, die Lage aus dem Kopf zu bekommen, die den Wert null zurück und ich kann nichts in der xhr Antwort finden, die die neue umgeleiteten URL anzeigt. Wo ich in der Chrome-Konsole mit der umgeleiteten URL darauf aufmerksam gemacht habe, dass die Webseite, nach der ich gesucht habe, verboten ist, bin ich mir nicht sicher, ob es eine Hilfe ist, aber es hat mich genervt, dass ich folgendes finden konnte: P.

Chrome 403 Response with redirect URL

Antwort

0

Bekommen Sie keine Informationen zurück von Soundcloud?

Es kann manchmal nützlich sein, einfach die Antwort auszugeben und zu sehen, was sie sagt.

Ich hatte einen kurzen Blick auf ihre API, und es sieht so aus, als müssten Sie sich nicht für einfache GET-Anfragen authentifizieren.

Ich versuchte "https://api.soundcloud.com/tracks?client_id=6d5bc62a483dce12f6f1d01bd93a0608" im Browser und es gab mir eine nette Antwort.

Sind Sie sicher, was Sie versuchen zu tun, erfordert keine Authentifizierung?

+0

Ich bin nach bestimmten Tracks, die mich authentifizieren müssen. Ich habe es für die Mehrheit der Tracks funktioniert, aber es gibt einige Tracks, die verboten 403 zurückgeben. Wo ich eine andere URL habe, die von dort angefordert wird, wird das JSON zurückgeben, das gerade die Strom-URL hat. Wenn Sie versuchen, https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/therealpressplay/sevenyears&client_id=6d5bc62a483dce12f6f1d01bd93a0608 Sie werden die 403-Antwort von dem bekommen, und wenn Sie die URL ersetzen Für einen anderen Track wird es in Ordnung sein. Wo ich die umgeleitete URL von dieser Antwort möchte. – Jordan