无法通过SoundCloud API调用检索某些公共曲目(403) [英] Cannot retrieve certain public tracks via SoundCloud API calls (403)
问题描述
通过SoundCloud API访问时,播放列表中的某些曲目未返回.
Some tracks in my playlist are not being returned when accessed via the SoundCloud API.
例如,这是我的播放列表中的两首曲目:
For example, here are two tracks in my playlist:
- http://api.soundcloud.com/tracks/169170570?client_id=CLIENT_ID
- http://api.soundcloud.com/tracks/251027701?client_id=CLIENT_ID
- http://api.soundcloud.com/tracks/169170570?client_id=CLIENT_ID
- http://api.soundcloud.com/tracks/251027701?client_id=CLIENT_ID
曲目1的URL返回一个JSON对象,并且也正确显示在我的/playlists请求中.但是,曲目2在上面的URL中给了我403,并且不在我的/playlists请求中.
The URL for track 1 returns a JSON object and also appears properly in my /playlists request. However, track 2 gives me a 403 in the URL above and is not present in my /playlists request.
为什么会这样?据我所知,轨道2是公共轨道,应该可以访问.有趣的是,我仍然可以通过在URL的末尾添加/stream来流跟踪2:
Why is this happening? As far as I can tell, track 2 is a public track and should be accessible. The interesting thing is I can still stream track 2 by adding /stream to the end of the URL:
http://api.soundcloud.com/tracks/251027701/stream?client_id=CLIENT_ID
这是怎么回事?
推荐答案
艺术家最有可能阻止了对此曲目的API访问.
It's most likely that the artist has blocked API access to this track.
SoundCloud为权利人引入了一个选项,默认情况下会禁止所有API访问曲目,并在请求时返回此403错误
SoundCloud has introduced an option for right holders to disable all API access to tracks by default, returning this 403 error when requested
发件人: 查看全文