Soundcloud API为Likes和Follow返回不正确的值

时间:2017-07-14 09:53:29

标签: javascript api soundcloud

Soundcloud API返回不正确的收藏(喜欢)和关注的计数。

有没有人知道如何修复或者它是否只是在soundclouds方面?

实施例: 用户29084746是Jorja Smith,她有29个喜欢。 https://soundcloud.com/jorjasmith

但是

https://api.soundcloud.com/users/29084746/favorites?client_id=XXX&page_size=200&linked_partitioning=1

返回17个赞。

编辑:只是为了澄清,我测试的每个用户都会发生这种情况,而不仅仅是这个例子。

2 个答案:

答案 0 :(得分:5)

使用this question(2016年询问)作为参考,我发现:

  

高级帐户设置可以阻止该曲目在第三方软件中显示为

因此,某些曲目很可能隐藏在第三方之外,因此也来自API。

  

这是在每个用户我测试

时发生的

好吧,也许现在他们允许每个用户隐藏他们的帖子以免受API访问,如sauntimo's answer所指出。

答案 1 :(得分:1)

我找到了一个API密钥(在google上花了37秒......)并从API中获取likes for that user并将它们放在this fiddle的表格中。我在列表中找到了一个on the site,但API没有返回。第一个是this track "Sharpness"。还有,天哪,我感觉悲惨地阅读了一些我不理解的音乐内容。

无论如何,我找到了艺术家身份的缺失"锐度"通过user search like this跟踪。请注意,返回的对象中的track_count79。然后我得到了artists tracks like thisas per the API docs)并且很有兴趣看到[ ]被退回了。我确实发现该用户根据回复处于免费计划中,所以看起来它与拥有高级帐户的艺术家有关。同时Jora has a premium account虽然这似乎不太可能隐藏某些喜欢。

然后,我为另一个缺失的曲目"U-GO-I-GO"重复此过程,找到artist here track_count : 32,然后got their tracks再次作为空数组返回,{{ 1}}。

总之,似乎必须有一个设置让用户阻止API访问他们上传的曲目。然后,当另一个用户喜欢这些用户之一时跟踪,这些曲目不会被第二个用户喜欢的查询返回,因此网站上的相似数量与原始用户Jora Smith的API返回的数量不一致。

除此之外,在帮助中心还有一篇关于Disabling App Playback的文章说明了

  

如果您想限制曲目播放,可以选择通过曲目的权限标签停用应用播放。这意味着您的曲目只能通过SoundCloud和SoundCloud嵌入播放,而不是使用我们的API的网站或应用。

Soundcloud Screenshot

我怀疑这意味着上传用户已禁用" app播放",这些曲目对api完全无法使用。请注意,它似乎肯定是上传用户的权限设置,这会导致您的差异,而不是您喜欢检索的用户。