2016-04-29 40 views
1

因此,我現在正在將一些播放列表和歌曲檢索功能構建到我的應用程序中,而且我從API獲得的一些結果中感到非常困惑。它似乎是返回Spotify上不再存在的歌曲或已從播放列表中長時間刪除的歌曲。Spotify iOS SDK返回不存在的歌曲嗎? - Swift

從用戶檢索播放列表清單工作正常,但以防萬一這個問題是從我得出的播放列表曲目的方式產生的,這裏是我用得到它們的代碼:

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

你會看到歌曲「大銀行丹克」和「光天不怕」是實際上在這個播放列表上,但由於某種原因,在我的應用程序下面,當我拉這個播放列表,它這些歌曲中列出: Spotify In My App

(顯然我不能發表,因爲我代表的實際圖像 - 道歉)

任何想法,爲什麼它這樣做呢?

+0

您是否檢查過Spotify文檔? JSON是什麼樣的? – nhgrif

回答

0

由於某些未指定的原因,軌道可能不再可用。這很常見。默認情況下,Spotify客戶端不會在播放列表中顯示不可用的曲目,但在設置中,您可以翻轉,以便它們以灰色顯示。

我不知道iOS的SDK,但應該是被記錄在告訴你的曲目,或者如果它是可玩與否,取決於用戶所在國家可用的市場屬性。

這就是它在Web API中的工作原理,它應該類似。 https://developer.spotify.com/web-api/track-relinking-guide/

+0

顯然這些歌曲在**沒有市場**中可用,但JSON迴歸仍然將它們列爲合法曲目,並帶有'uri',合法'專輯'以及它自己的'uri'和獨特的href鏈接以及所有內容。奇怪的。 – daulSwift