2015-07-12 29 views
13

Używam JavaScript do tworzenia aplikacji internetowych z interfejsem API Soundcloud dla mojego portfolio. Na moim obecnym etapie muszę mieć możliwość stworzenia nowego zestawu (aka playlisty). I był przy użyciu przykładowego kodu z docs SoundCloud za:Tworzenie zestawu za pomocą interfejsu API Soundcloud

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

Ale ja dostaję błąd 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).

Ale to nie wygląda jak coś zaginął.

+0

może dlatego, że 21928809 nie jest prawidłowym/publicznym utworem, a 22448500 jest w porządku? – CapelliC

+0

wcześniej autoryzowałeś użytkownika? afaik musisz użyć PUT zamiast POST zgodnie z dokumentami. możesz chcieć rzucić okiem na tę odpowiedź, nawet jeśli jej php: http://stackoverflow.com/questions/29156861/how-to-create-soundcloud-playlist-using-php-wrapper – devbnz

+0

Zrobiłem autoryzację użytkownika jako mój pierwszy krok po inicjalizacji. Inne części mojego kodu działają, ale obecnie utknęły w tym punkcie. Będzie kontynuować kopanie. – brooklynsweb

Odpowiedz

5

Połączenie z interfejsem API SoundCloud wymaga funkcji wywołania zwrotnego oprócz tytułu i ścieżek listy odtwarzania. Twój kod powinien wyglądać tak:

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) 
    } 
    }); 
}); 

Ich przykład jest, niestety, nieprawidłowy.

+0

Dziękuję Córy, która załatwiła sprawę; Wiedziałem, że coś jest w ich dokumentach. Również znalazłem źródło 422, które otrzymywałem: miałem literówkę i pominąłem "/" z listy odtwarzania "ścieżkę końcową", a więc rozwiązanie to "api.soundcloud.comme .." lub "api. soundcloud.complay ... "Dwa robaki zabite w jednym siedzeniu, doskonałe. – brooklynsweb

Powiązane problemy