2012-01-17 16 views
1

Spotify Apps APIを使用してアルバム検索を実行しようとしていますが、結果にデータがありません。具体的には、numResultsは常に0で、今年は時々0です。たとえば:あなたは、コンソールを見ればSpotify Apps APIを使用して検索すると年/月のトラックが見つかりません

var search = new models.Search("genre:Jazz"); 
search.searchTracks = false;  
search.observe(models.EVENT.CHANGE, function() { 
    console.log(search.albums); 
    for(var i in search.albums) { 
     console.log(search.albums[i].data.year) 
    } 
}); 
search.appendNext(); 

、多くのアルバムは今年のために0を返します。しかし、これらのアルバムをMetadata APIを使用してチェックすると、1年を正常に返すことができます。あなたは、同時にトラックを検索する場合興味深いことに、あなたはより良い結果を得る:

var search = new models.Search("genre:Jazz"); 
search.searchTracks = true; 
search.observe(models.EVENT.CHANGE, function() { 
    console.log(search.albums); 
    for(var i in search.albums) { 
     console.log(search.albums[i].data.year) 
    } 
}); 
search.appendNext(); 

しかし、今年はまだいくつかのアルバム(50トラック検索結果に返さ一切のトラックを持っていた、おそらくアルバム)に欠けています。

誰かが検索クエリを構成する方法を考えているので、すべてのアルバムの年が返されますか、それともバグですか?

(注:ジャンルに応じて2番目のコードサンプルを実行すると、最初のコードサンプルはキャッシュのためにより良い結果を返します。新しいジャンルで試してみてください。

答えて

0

あなたが望むアルバムのmodels.EVENT.CHANGEイベントを監視していることを確認してください。その情報は別々に、しばしば遅延してロードされます。

+0

残念ながらそれは役に立ちません。検索から返されたアルバムの結果が常に適切に形成されているとは思われません。私は検索されたアルバムから選手オブジェクトを作成しようとしているところに問題があります。私の推測はどこかにバグがあるか、あるいは検索の方法が設計されているということは、アルバムには情報が欠けていることがあるということです。 –

0

各アルバムでmodels.Album.fromURIを使用して、メタデータが確実に読み込まれるようにすることができます。このような何か:

var search = new models.Search("genre:Jazz"); 
search.searchTracks = false;  
search.observe(models.EVENT.CHANGE, function() { 
    console.log(search.albums); 
    for(var i in search.albums) { 
     var a = models.Album.fromURI(search.albums[i].uri, function(album) { 
      console.log(album.year) 
     } 
    } 
}); 
search.appendNext(); 

私は私が働いてきたアプリでこの種のものを使用しました、そして、データが完全であることを保証するためにいるようです。

関連する問題