Web アプリケーションに SoundCloud API を使用しています。/tracksエンドポイントでは、以下の 2 つの問題があります。
1. 無効なジャンル パラメータを含むリクエストを送信すると、/tracks エンドポイントは 503 (サービスを利用できません) を返しますか?
のように q パラメーターでどのトラックにも一致しない条件を意図的に使用すると、
http://api.soundcloud.com/tracks?q=ewkqtieorak&client_id=MY_CLIENT_ID&format=json&_status_code_map%5B302%5D=200
、応答は予想どおり空の配列ですが、ジャンルパラメーターは次のようになります
http://api.soundcloud.com/tracks?genres=hoge&client_id=MY_CLIENT_ID&format=json&_status_code_map%5B302%5D=200
、応答は常に503です(約500回試しました)。
/tracks エンドポイントはステータス 503 を返すことが多いため、既存のジャンルであっても、そのようなジャンルがないか、SoundCloud にサーバーの問題があるかどうかはわかりません。それらを区別する方法はありますか?
2. フィルタ パラメータが正しく機能していないようです。
リクエストの例を以下に示します。ストリーミング可能なトラックが欲しくて、フィルター パラメーターとして "streamable" を追加しましたが、応答トラックにはストリーミングできないトラックがいくつか含まれています。私はそれを間違って使用していますか?
http://api.soundcloud.com/tracks?filter=streamable&genres=electronica&client_id=MY_CLIENT_ID&format=json
http://api.soundcloud.com/tracks?filter=streamable&order=hotness&genres=jazz%2Cclassical&bpm[from]=0&bpm[to]=100&created_at[from]=2011-11-24%2000%3A00%3A00&created_at[to]=2012-02-22%2000%3A00%3A00&limit=5&client_id=MY_CLIENT_ID&format=json&_status_code_map[302]=200
http://api.soundcloud.com/tracks?filter=streamable&order=hotness&genres=jazz%2Cclassical&bpm[from]=0&bpm[to]=100&created_at[from]=2012-01-03%2000%3A00%3A00&created_at[to]=2012-04-02%2000%3A00%3A00&limit=30&client_id=MY_CLIENT_ID&format=json&_status_code_map[302]=200