【问题标题】:Spotify iOS SDK returning songs that do not exist? - SwiftSpotify iOS SDK 返回不存在的歌曲? - 斯威夫特
【发布时间】:2016-08-24 23:53:16
【问题描述】:

所以我现在正在我的应用程序中构建一些播放列表和歌曲检索,我对从 API 返回的一些结果感到非常困惑。它似乎正在返回 Spotify 上不再存在或已从播放列表中长期删除的歌曲。

从用户那里检索播放列表列表工作正常,但如果这个问题是由我绘制播放列表曲目的方式引起的,这里是我用来获取它们的代码:

SPTPlaylistSnapshot.playlistWithURI(uri, accessToken: session.accessToken) { (error, playlistSnapshotOb) -> Void in
        if let playlistSnapshot = playlistSnapshotOb as? SPTPlaylistSnapshot {
            let itemz = playlistSnapshot.firstTrackPage.items //tracksForPlayback()
            for item in itemz{
                let track = item as! SPTPlaylistTrack
                let splice = "\(track.uri)"

                let trackURI = splice.stringByReplacingOccurrencesOfString("spotify:track:", withString: "")

                var displayArtist = String()
                let artistz = track.artists
                if artistz.count > 1{
                    for i in 0...(artistz.count - 1){
                       let itz = artistz[i] as! SPTPartialArtist
                        if i > 0 {
                            displayArtist += ", \(itz.name)"

                        }else{
                            displayArtist += "\(itz.name)"
                        }
                    }
                    self.tracks.append(track.name)
                    self.ArtistObjects.append(displayArtist)
                    self.uriS.append(trackURI)


                }else{
                    let singularArtist = artistz[0] as! SPTPartialArtist
                    displayArtist = singularArtist.name
                    self.tracks.append(track.name)
                    self.ArtistObjects.append(displayArtist)
                    self.uriS.append(trackURI)
                }

此外,下面是桌面 Spotify 应用程序的屏幕截图,显示了我正在提取的播放列表的真实内容: Spotify per Desktop

你会看到歌曲“Big Bank Dank”和“Light Day Remix”实际上不在这个播放列表中,但是由于某种原因,当我拉出这个播放列表时,在我下面的应用程序中,它列出了这些歌曲: Spotify In My App

(显然,由于我的代表,我无法发布实际图片 - 道歉)

知道为什么要这样做吗?

【问题讨论】:

  • 您查看过 Spotify 文档吗? JSON 是什么样的?

标签: ios swift sdk spotify


【解决方案1】:

由于某些未指明的原因,这些曲目可能不再可用。这很常见。默认情况下,Spotify 客户端不会在播放列表中显示不可用的曲目,但在设置中有一个可以翻转的开关,以便它们显示为灰色。

我不了解 iOS SDK,但应该有一个属性告诉您曲目的可用市场或是否可播放,具体取决于登录用户所在的国家/地区。

这就是它在 Web API 中的工作方式,应该是类似的。 https://developer.spotify.com/web-api/track-relinking-guide/

【讨论】:

  • 显然有问题的歌曲在没有市场可用,但 JSON 返回仍将它们列为带有uri 的合法曲目,合法的album 带有它自己的uri 和唯一的 href 链接和一切。很奇怪。
猜你喜欢
  • 1970-01-01
  • 2016-05-24
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 2017-03-24
  • 2018-08-07
相关资源
最近更新 更多