尽管用户有曲目

时间:2015-11-02 19:31:45

标签: soundcloud

我试图获取特定用户的曲目但是对于某些用户来说,即使他们有曲目,SoundCloud API也会返回一个空列表。

例如,您可以从track_count

中看到以下用户有17首曲目
http://api.soundcloud.com/users/1250904?client_id=XXXXXX

如果我试图找到他的曲目,它会返回一个空列表

http://api.soundcloud.com/users/1250904/tracks?client_id=XXXXXX

用户是否可以通过API无法播放他们的歌曲?用户是否有可以区分此字段的字段?

1 个答案:

答案 0 :(得分:3)

这非常有趣。使用我自己生成的普通CLIENT_ID,我得到了相同的结果。此外,如果我尝试访问API以获取有关特定轨道的信息,我会收到403 Forbidden错误:

HTTP GET https://api.soundcloud.com/tracks/149151252.json?client_id=XXXXXX

出现这种情况可能有几个原因:

  1. 用户已达到所有曲目的下载限制。
  2. 用户已禁用oEmbed,导致API请求为403(请参阅this post)。
  3. 用户以某种方式设法阻止对其曲目的正常API访问。
  4. 我在这里依靠选择3。我在this question尝试了youtube-dl应用程序使用的CLIENT_ID,对其他一些CLIENT_ID进行了一些测试。使用他们的_IPHONE_CLIENT_ID,我能够看到所有17首曲目的信息。如果我对该密钥的理解是正确的,那么它是SoundCloud用于其iOS应用程序的主API密钥,这可以解释为什么该密钥有效而其他密钥无效。

    此用户必须启用某些设置才能阻止对其曲目的标准API访问。