2012-02-17 6 views
2

私は、トラックがユーザーの地域で再生可能かどうかを知る必要があるアプリケーションを構築しています。Spotifyのテリトリの制限とリンクされたトラック

メタデータAPIを使用して、トラックの基本的な領土の制限を確認するのは簡単です。しかし、Metadata APIが私の地域外にあると言われているトラックに遭遇していますが、リージョンがロックされていない同じトラックのバージョンに自動リンクされています。すなわち、メタデータによれば、トラックを再生することはできませんが、ユーザーが関心を持つ限り、Spotifyはそのトラックを再生できます。

ここでは例です:Spotifyは@ APPARATによって

'スウィート不安':トラック:4H4h3ulzjGVox14GHiCEoo

私は、ルックアップリンクがhttp://ws.spotify.com/lookup/1/.json?uri=spotify:track:4H4h3ulzjGVox14GHiCEoo

ある英国(地域コードGB)

にしています

結果の領域文字列にはGBコードはありませんので、理論上はトラックを再生できません。しかし、Spotifyのメインプレイヤーでは、自分の地域でプレイ可能なspotify:track:11S6TQybYumAnNApugZWSJに自動的にリンクされていることがわかります。おそらく再生不可能なトラックのURIを左上のSpotify検索ボックスに貼り付けると、それが再生されます。

このようなトラックを確認するためのAPIベースの方法はありますか?

答えて

0

残念ながら、現時点ではありません。リンクは実際には私たちのバックエンドサービスではなく、クライアント自体によって行われるため、私たちのAPIのどれもがこの情報を持っていません。

+0

よろしくお願いいたします。トラックが再生できない場合に起動するAPIプレーヤーイベントはありません。 – Paul

+0

Spotify Apps APIには?あなたはモデルのオブザーバーを追加することができます。プレイヤーのEVEN.CHANGEをクリックして、プレイプロパティを見てください。ちょっとハッキリしているようだ。 – iKenndac

+0

ええと、その時点で2秒タイマー(ネットワーク遅延を許す)を開始します。時間が過ぎても再生されていなければ、失敗して移動したと見なします。また、プレイヤーは数分前に動作した正当なトラックで失敗することがあります(Spotifyは「トラックが見つかりません」黄色のステータスバーのメッセージを表示します)。何らかの種類の説明またはエラーコードが添付された失敗したイベントを持っているといいですか? – Paul

2

あなたはトラックが各トラックの文書化されていないプロパティを使用して再生可能であるかどうかを検出することができます:data.availableForPlayback

Track.fromURI("spotify:track:XXX", function(track) { 
alert(track.data.availableForPlayback); 
}); 

あなたは上記のコードを実行した場合、あなたは何をしても、そのTrue/Falseのを取得する必要があります後で。

+0

'track.data.availableForPlayback'が見つかりません。しかし、同じ情報を提供すると思われる 'track.available'というプロパティがあります。 – mrydengren

関連する問題