我一直致力于开发一款可通过网络API创建Spotify播放列表的应用。我想创建一个公共播放列表,但它似乎在制作公共和私人播放列表之间交替。
我发出两个请求 - 一个用于创建播放列表,另一个用于填充轨道。我正在使用的范围是'playlist-modify-public'和'playlist-modify-private'(我添加后者,因为在创建私人播放列表的情况下尝试填充时会出错)。
我正在公开传播:关于播放列表创建的真实论点,Spotify返回的成功结果始终确认播放列表已公开。然而,访问Spotify应用程序显示它仅在三分之一的时间内公开。
我的播放列表创建调用看起来像这样: https://api.spotify.com/v1/users/[username]/playlists
发布数据 {“public”:true,“name”:“测试播放列表”}
这将返回201结果,其中播放列表创建了一个id,公共设置为true。 (但是在Spotify中访问它时不是这样。)
我填写播放列表的第二个电话看起来像这样: 来自上述结果的https://api.spotify.com/v1/users/[username]/playlists/[playlistid] / track
发布数据[“spotify:track:6eYYm2xwrvdav2yakF3cqg”,“spotify:track:21N8iHmlc4Xv6mCN6Yi9p6”,“spotify:track:59LwZvfjcbHs90huzN7j1r”]
这会使用曲目填充播放列表并返回201.
我的完整范围列表看起来像这样(我们的应用程序除了创建播放列表外还做其他的thinsg):
user-read-private user-read-email playlist-modify-public playlist-modify-private playlist-read-private user-library-read
我想也许第二次调用是将它设置为私有,但它似乎是在第一步发生,尽管结果另有说法。
我有什么问题吗?其他人遇到过这个问题吗? 目前我们的解决方案是执行第三个PUT请求以将播放列表设置回公开,这似乎坚持下去。 想法?
答案 0 :(得分:1)
这是由现已修复的错误引起的。 (然而,桌面客户端可能会将创建的公共播放列表显示为私有,即使它实际上是公开的,直到用户再次登录。这是一个单独的问题,也会很快修复。)
非常感谢MikeP的报道,我希望能给你发一些Spotify袜子或者其他东西。