我最近开始使用 Soundcloud API 开发一个简单的应用程序,用于保存播放列表中的数据。然而,在我看来,并非播放列表中的所有曲目都会被返回。
我正在使用以下代码:
import soundcloud, shelve, time
client = soundcloud.Client(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
username=E-MAIL,
password=PASSWORD)
playlists = client.get('/users/24196709/playlists', limit=1)
tracknames = []
trackids= []
for pl in playlists:
for track in pl.tracks:
print(track['title'])
tracknames.append(track['title'])
trackids.append(track['id'])
print(tracknames)
在此播放列表上使用它:https://soundcloud.com/michiel-tammeling/sets/icecubes https://soundcloud.com/michiel-tammeling/sets/icecubes其中包含 13 首曲目,但代码仅返回 11 首。
任何帮助将非常感激。
不幸的是,这无法解决。关于这个问题已经有很多话题了。问题是播放列表 API 返回播放列表中的所有曲目,但曲目 API 仅返回不受保护的曲目。由于您已经找出了哪 2 个轨道丢失了,所以我验证了这一点,当您尝试使用轨道 API 时,它们都返回 403。因此,这 2 个轨道在某种程度上无法使用轨道 API 访问。
更多背景:
SoundCloud 播放列表曲目为空 https://stackoverflow.com/questions/36688041/soundcloud-playlist-tracks-is-empty/36697558#36697558
SoundCloud 回复电子邮件称,他们为权利持有者引入了一个选项,默认情况下禁用对曲目的所有 API 访问,并在请求时返回此 403 错误。他们还表示,这是一个令人困惑的功能,这是可以理解的,他们希望能够使其更加清晰。
And soundcloud 的技术主管@nickf 说: https://stackoverflow.com/questions/36626513/soundcloud-api-json-track-count-does-not-match-profile-track-count
是的 - 有很多原因可能导致曲目无法显示给您。它可能会被曲目的版权所有者删除,被上传者设为私有或删除,或者(这是棘手的)在某些地区被屏蔽。每次获取用户的所有轨迹时都计算该策略不太可行,因此有时这个数字会不准确(取决于谁在询问以及他们在哪里)。 – 尼克夫 4 月 14 日 22:37
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)