私は、Soundcloudに接続しているユーザーに、SCアカウントを使用してSoundcloudに保存されている新しいプレイリスト(セット)を作成する機能を提供しようとしています。非常に基本的です。テストケースとして、私がテストしている例は、別のサウンドIDを追加したことを除いて、 Soundcloud開発ドキュメントからほぼ正確に取得されています。
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script>
// initialize client with app credentials
SC.initialize({
client_id: 'MY_CLIENT_ID',
redirect_uri: 'http://localhost.local/~****/sc/callback.html'
});
// initiate auth popup and create new playlist
SC.connect(function() {
SC.get('/me', function(me) {
console.log(me.username);
});
var tracks = [12573606].map(function(id) { return { id: id }; });
SC.post('/playlists', {
playlist: { title: 'My Playlist', tracks: tracks }
});
});
SC.postからのコピーとその応答は次のとおりです。
POST https://api.soundcloud.com/playlists 422 (Unknown Error) sdk.js:1
window.SC.SC.Helper.merge._xhrRequest sdk.js:1
window.SC.SC.Helper.merge._request sdk.js:1
window.SC.SC.Helper.merge._apiRequest sdk.js:1
window.SC.SC.Helper.merge.post sdk.js:1
(anonymous function) localhost.local:21
(anonymous function) sdk.js:1
f.onreadystatechange sdk.js:1
XHR finished loading: "https://api.soundcloud.com/playlists". sdk.js:1
window.SC.SC.Helper.merge._xhrRequest sdk.js:1
window.SC.SC.Helper.merge._request sdk.js:1
window.SC.SC.Helper.merge._apiRequest sdk.js:1
window.SC.SC.Helper.merge.post sdk.js:1
(anonymous function) localhost.local:21
(anonymous function) sdk.js:1
f.onreadystatechange sdk.js:1
Uncaught TypeError: object is not a function sdk.js:1
(anonymous function) sdk.js:1
f.onreadystatechange
私はいくつかの異なる解決策を試しましたが、自分でurlリクエストを作成し、それと一緒にclient_idを投稿しましたが、成功しませんでした。
開発ドキュメントにも矛盾があることに気づきました。私は、開発ドキュメントにプレイリストの作成JS SDKの例があることに気づきましたが、APIGEE(API)コンソールには投稿/ playlistsリクエストへの参照はなく、取得のための/playlistsだけです...これはありません現在のSoundcloudAPIにも存在しますか?
もう1つ頭に浮かんだのは、422エラーだったので、ユーザーが元々sdkを使用してトラックをアップロードしている場合にのみ、プレイリストにトラックを追加できるということでした。
他の誰かがこの問題に遭遇しましたか?誰かがそれに対する解決策を見つけましたか?
ありがとう、