Javascript 使用Soundcloud创建一个集合';s API

Javascript 使用Soundcloud创建一个集合';s API,javascript,soundcloud,Javascript,Soundcloud,我正在使用Javascript为我的投资组合创建一个带有Soundcloud API的web应用程序。在我目前的阶段,我需要能够创建一个新的设置(又名播放列表)。我使用的是Soundcloud文档中的示例代码: SC.connect(function() { var tracks = [22448500, 21928809].map(function(id) { return { id: id } }); SC.post('/playlists', { playlist: { t

我正在使用Javascript为我的投资组合创建一个带有Soundcloud API的web应用程序。在我目前的阶段,我需要能够创建一个新的设置(又名播放列表)。我使用的是Soundcloud文档中的示例代码:

SC.connect(function() {
  var tracks = [22448500, 21928809].map(function(id) { return { id: id } });
  SC.post('/playlists', {
    playlist: { title: 'My Playlist', tracks: tracks }
  });
}); 
但我得到一个422错误:

不可处理实体-请求看起来正常,但有一个或多个 参数看起来有点古怪。可能是您发送了数据 格式错误(例如,我们期望的是字符串的数组)


但是它看起来并没有丢失任何东西。

对SoundCloud API的调用除了播放列表标题和曲目外,还需要一个回调函数。您的代码应该如下所示:

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

不幸的是,他们的示例是错误的。

可能是因为21928809不是有效的/公共曲目,而22448500是可以的?您已经事先授权了用户?根据文档,你需要使用PUT而不是POST。你可能想看看这个答案,即使它是php:初始化后的第一步,我确实授权了用户。我的代码的其他部分工作正常,但目前仍停留在这一点上。将继续挖掘。感谢科里,他做到了这一点;我知道他们的文件里有些不对劲。此外,我还找到了422的来源:我输入了一个拼写错误,并在端点路径“playlist”中漏掉了“/”,因此它将解析为“api.soundcloud.comme..”或“api.soundcloud.comply…”两个bug一次性杀死,非常好。