Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS SDK创建新的Soundcloud播放列表(集合)返回422_Javascript_Api_Soundcloud - Fatal编程技术网

Javascript 使用JS SDK创建新的Soundcloud播放列表(集合)返回422

Javascript 使用JS SDK创建新的Soundcloud播放列表(集合)返回422,javascript,api,soundcloud,Javascript,Api,Soundcloud,我试图让与Soundcloud连接的用户能够使用他们的SC帐户创建存储在Soundcloud上的新播放列表(集)。非常基本。作为一个测试用例,我正在测试的示例几乎完全取自,只是我添加了一个不同的声音id <script src="http://connect.soundcloud.com/sdk.js"></script> <script> // initialize client with app credentials SC.initialize({

我试图让与Soundcloud连接的用户能够使用他们的SC帐户创建存储在Soundcloud上的新播放列表(集)。非常基本。作为一个测试用例,我正在测试的示例几乎完全取自,只是我添加了一个不同的声音id

<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 }
    });
});
我尝试了两种不同的解决方案,自己创建url请求并发布我的客户id,但没有成功

我也注意到dev文档中有一个不一致的地方。我注意到,在dev文档中有一个创建播放列表JS SDK示例,但是在APIGEE(API)控制台中,没有对post/playlist请求的引用,只有/playlist的get。。。这在当前的SoundCloudAPI中甚至不存在吗

我想到的另一件事是,由于这是一个422错误,当用户最初使用sdk上传曲目时,您只能将曲目添加到播放列表中吗

还有其他人遇到过这个问题吗?有人找到解决办法了吗


谢谢,

我正在通过Cocoa/Objective C使用SoundCloud API,在尝试更新播放列表时遇到了相同的问题,即出现错误422。我的解决方案是理解参数值必须是曲目“id”字符串的数组,并且参数键是“playlist[tracks][[id]”

因此,对于目标C,代码是:

NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
NSString *trackList = @"60832750,61311756,60832782"; // for example
NSArray *tracks = [self.trackList componentsSeparatedByString:@","];
[parameters setObject:tracks forKey:@"playlist[tracks][][id]"];

当然,您的确切代码将取决于您使用的语言。对我来说,窍门就是把钥匙的括号都弄对。

这正是我想要的,谢谢!另外一个信息是,您在示例中使用的
tracks
变量只是一个NSArray,track id:s作为nsnumber。
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
NSString *trackList = @"60832750,61311756,60832782"; // for example
NSArray *tracks = [self.trackList componentsSeparatedByString:@","];
[parameters setObject:tracks forKey:@"playlist[tracks][][id]"];