2015-07-12 15 views
13

Uso Javascript per creare un'app Web con l'API Soundcloud per il mio portfolio. Al mio stadio attuale devo essere in grado di creare un nuovo set (o una playlist). Stavo usando il codice di esempio da documenti di Soundcloud:Creazione di un set con l'API Soundcloud

SC.connect(function() { 
    var tracks = [22448500, 21928809].map(function(id) { return { id: id } }); 
    SC.post('/playlists', { 
    playlist: { title: 'My Playlist', tracks: tracks } 
    }); 
}); 

Ma sto ottenendo un errore 422:

Unprocessable Entity - The request looks alright, but one or more of the parameters looks a little screwy. It's possible that you sent data in the wrong format (e.g. an array where we expected a string).

Ma non sembra che manca qualcosa.

+0

forse perché 21928809 non è una traccia valida/pubblica, mentre 22448500 è ok? – CapelliC

+0

hai autenticato l'utente in anticipo? Afaik hai bisogno di usare PUT al posto del POST secondo i documenti. potresti dare un'occhiata in quella risposta, anche se il suo php: http://stackoverflow.com/questions/29156861/how-to-create-soundcloud-playlist-using-php-wrapper – devbnz

+0

Ho autorizzato l'utente come il mio primo passo dopo l'inizializzazione. Altre parti del mio codice funzionano, ma attualmente sono bloccate a questo punto. Continuerà a scavare. – brooklynsweb

risposta

5

La chiamata all'API SoundCloud richiede una funzione di richiamata oltre al titolo e alle tracce della playlist. Il tuo codice dovrebbe apparire così:

SC.connect(function() { 
    var tracks = [22448500, 21928809].map(function(id) { return { id: id } }); 
    SC.post('/playlists', { 
    playlist: { title: 'My Playlist', tracks: tracks }, function(response){ 
     console.log(response) 
    } 
    }); 
}); 

Il loro esempio è, purtroppo, sbagliato.

+0

Grazie a Cory che ha fatto il trucco; Sapevo che c'era qualcosa di strano nei loro documenti. Inoltre ho scoperto la fonte del 422 che stavo ottenendo: ho avuto un errore di battitura e ho lasciato "/" dalla playlist del percorso dell'endpoint, quindi si sarebbe risolto in "api.soundcloud.comme .." o "api. soundcloud.complay ... "Due bug uccisi in una sola seduta, eccellente. – brooklynsweb

Problemi correlati