2013-05-14 124 views
1

我正在嘗試獲取用戶的藝術家列表。在0.x Api中很容易,但現在我無法做到。如何獲取用戶的所有藝術家(Spotify Api 1.x)?

require([ 
     '$api/models', 
     '$api/location#Location', 
     '$api/library#Library', 
     '$api/search#Search', 
     '$api/toplists#Toplist', 
     '$views/buttons', 
     '$views/list#List', 
     '$views/image#Image' 
     ], function(models, Location, Library, Search, Toplist, buttons, List, Image) { 

    var librarys = Library.forCurrentUser(); 
    console.log("LIBRARY", librarys); 
     librarys.load("artists").done(
      function(artists) { 
       console.log(artists); 

       artists.load('owner').done(function(snapshot) { 
        console.log("SNAP",snapshot); 

       }); 
      }); 
}); 

我得到的"Library.forCurrentUser();"的迴應,但一切,我嘗試下失敗。沒有任何錯誤或某事,但是"librarys.load("artists")""librarys.snapshot()"的作品。

回答

4

通過從庫中加載「藝術家」,您實際上沒有讓藝術家回到回調函數中,而是加載藝術家的庫。由於幾乎不需要加載所有內容,因此如果指定了要加載的內容,則性能會更好。如果您想加載曲目以及藝術家,只需使用「藝術家」,「曲目」作爲加載參數即可。

如果你想看到在當前用戶的庫中的藝術家,你可以做像這樣:

require(['$api/library#Library'], function(Library) { 
    Library.forCurrentUser().load("artists").done(function(library) { 
     library.artists.snapshot().done(function(snapshot) { 
      for (var i = 0; i < snapshot.length; i++) {  
       console.log(snapshot.get(i).name); 
      } 
     }); 
    }); 
}); 

希望這有助於。

編輯:這是適用於Spotify應用程序API版本1.25.1。

相關問題