Ich versuche, die erste Top-Track-Vorschau-URL von einem Künstler zu bekommen, aber jedes Mal, wenn ich die Suche mache, gibt es einen gebrochenen JSON zurück. Ich kann es als String analysieren, um zu bekommen, was ich brauche, aber ein JSON wäre viel einfacher. Hier ist mein Code:Spotify API Top-Tracks gebrochen
const https = require('https');
var open = require('open')
function songError(){
console.log('There was some kind of error fetching your artist ;(');
}
function getTopSong(p_id){
https.get('https://api.spotify.com/v1/artists/'+p_id+'/top-tracks?country=BR', function(res){
res.on("data", function(chunk){
var json = JSON.parse(chunk.toString('utf8'));
console.log(json);
});
});
}
function getArtistID(p_name) {
https.get('https://api.spotify.com/v1/search?q='+encodeURI(p_name)+'&type=artist', function(res){
res.on("data", function(chunk) {
var json = JSON.parse(chunk.toString('utf8'));
if(json['artists']['items'][0]['id'] != undefined || json['artists']['items'][0]['id'] != null){
console.log('id: ',json['artists']['items'][0]['id']);
getTopSong(json['artists']['items'][0]['id']);
}else
{
songError();
}
});
});
}
getArtistID("rage against the machine");
Es scheint in Zeile ein Fehler zu sein, 329:
undefined:329
"available_markets" : [ "AR", "AU", "AT", "BE", "BO", "BR", "BG", "CA", "CL", "CO", "CR", "CY", "CZ", "DK", "DO", "DE", "EC", "EE", "SV", "FI", "FR", "GR", "
Meine Frage ist, bin ich etwas falsch oder ist es wirklich kaputt? Danke!
Das ist es, ich habe vergessen, alles zu verketten, dummer Fehler! Danke! –
Und ich habe gerade festgestellt, dass es wahrscheinlich nichts mit der chunked Transfer-Codierung vom Server zu tun hat. Die API wird den Körper wahrscheinlich in Blöcke teilen, so dass Sie Gigabytes herunterladen können, ohne alles im Speicher ablesen zu müssen. – jooon