2017-06-18 6 views
1

を異なっ私はそうのようなGETリクエストを作り、与えられた芸術家によって正確なトラックを照会するためにSpotifyはAPIを使用してきました:結果がWebクライアントで同じクエリから

https://api.spotify.com/v1/search?q=track:"track+title"+artist:"artist+name"&type=track 

(とAuthorizationヘッダーベアラ[access_tokenは]

ほとんどの場合に期待されるようにこれは動作しますが、一つのトラックのために私は問題を抱えて:私はトラックI Might Just Stay Home, with Shannon Lyonを見つけようとしています。これは、しかし、ゼロの結果が得られ

https://api.spotify.com/v1/search?q=track:"I+Might+Just+Stay+Home"+artist:"Shannon+Lyon"&type=track 

:このように調整私の以前に成功したGETリクエストで

はタイトルとアーティストを追跡し、これは、それがどのように見えるかです。本当に奇妙なもの:Spotify Web playerに全く同じ検索クエリ(トラック: "I + Might + Just + Stay + Home" +アーティスト: "Shannon + Lyon")をコピーすると、1つの検索結果が表示されます私は期待しています。また、私はSpotify Desktopプレイヤーで同じクエリを使用して、私に1つの結果を与えることができます。

質問:私はAPIから結果を得られない理由は何でしょうか?まったく同じクエリを使用してウェブクライアントとデスクトップクライアントの両方で結果を得ることができますか?

+0

クライアントは、これがそのトラックで発生するだけでなくので、代わりに、彼らは、ある種のプライベートAPIを使用しているように見える、パブリックAPIを使用していないようです。 – Potray

答えて

1

Potrayが既に与えている理由の1つです。クライアントで表示されるものは、内部APIに由来します。パブリックWeb APIとは少し異なります。

もう1つの理由は、国によっては異なる場合がありますが、2つのクエリは国によって異なる場合がありますが、それはわからない可能性があります。

クライアントで検索するときは、常に検索するユーザーです。ユーザーは国に接続しています。あなたの国で利用可能なものだけを再生することができるので、クライアントで検索すると再生できるものが返されます。

Web APIを使用して検索する場合、検索するSpotifyユーザーを指定する必要はありません。検索結果を表示する国を指定する必要もありません。

国を指定していない頃から、検索結果には少なくとも1つの国で利用可能だったトラックが一覧表示されます。昨年以来、バグのために、それは代わりに米国にデフォルトします。国を変更することはできますが、すべての国で検索することはできません。

https://github.com/spotify/web-api/issues/194

+0

あなたは間違いなし! * market = NO *をリクエストに追加すると、期待される応答が得られます。私は、APIによると、米国でのみ利用できるはずの検索結果の例を見た理由を説明しますが、ウェブプレーヤーでその曲が見つかりました。異なる市場の利用可能性がありますが、検索は* market = US *にデフォルト設定されているため、NOで利用できなかったので表示されます。 – Nailuj

+0

また、ドキュメント(https://developer.spotify.com/web-api/search-item/)が誤解を招くものであると主張します。クエリパラメータ* market *については、「* Optional(...)**」と表示されます。 **国コードが与えられている場合、その市場で再生可能なコンテンツを含むアーティスト、アルバム、およびトラックのみが返されます*。 "市場が省略された場合、私は*どんな*市場からの結果も期待しています。 – Nailuj

関連する問題