これを見ているサウンドクラウドの誰かがいますか?有効なリクエストに対して 403 が返されるのはなぜですか?
現在、Titanium を使用して iOS アプリを構築しています。
ユーザーがSoundcloud .mp3ファイルをダウンロードしてアプリから再生できるようにする新機能を含めています(アプリケーションディレクトリに保存)
私が書いたコードは、一部のトラックでは正常に機能しますが、他のトラックでは機能しません。クライアントはすべてのトラックを無制限にダウンロードできます。最大タイムアウトを大幅に増やしましたが、それでも約 170 バイトしかダウンロードせず、一部のトラックで失敗します。他のものでは、問題なくトラック全体をダウンロードします。これに本当に困惑していますが、誰かアイデアはありますか?
以下はコードであり、トラックが機能している例と、機能していないトラックの例を示しています。
ありがとう
ジャスティン
//Download code
var newDir = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,'scDownloads');
newDir.createDirectory();
var id = fStripped;
var dlXhr = Titanium.Network.createHTTPClient({
timeout : 500000});
dlXhr.onload = function(){
var file = Ti.Filesystem.getFile(newDir.resolve(),id +'.mp3');
Ti.API.warn('file is: ' + file);
file.createFile();
file.write(this.responseData);
}
dlXhr.open('GET',dlURL + '?client_id=' + soundcloudClientID);
dlXhr.send();
そして、ここにいくつかのトラックがあります(クライアントID付き)
これは機能します:https://api.soundcloud.com/tracks/60943956/download?client_id=7a0984726d0eefbb310771c4c02116a8
これはそうではありません: https://api.soundcloud.com/tracks/63980557/download?client_id=7a0984726d0eefbb310771c4c02116a8
これを Soundcloud の API コンソール (http://developers.soundcloud.com/console) でテストしたところ、次の結果が得られました。
HTTP/1.1 302 Moved Temporarily Access-Control-Expose-Headers: Date X-Runtime: 20 Age: 0 Content-Length: 28 X-Cacheable: NO:Cache-Control=no-cache Location: gda=1351783496_b465064be1b41027a7a0bf6067d83169">http: //ak-media.soundcloud.com/kw7JNYi7HtCq?AWSAccessKeyId=AKIAJ4IAZE5EOI7PA7VQ&Expires=1351783496&Signature=UNtBsSfBh1XNvXPLSLNVzTQEclY%3D& gda =1351783496_b465064be1b41027a7a0bf6067d83169 Access-Control-Allow-Methods: GET, PUT, POST, DELETE Connection: close Server: nginx X-Cache: MISS Cache-Control: no-cache X-Varnish: 1398398080 Access-Control-Allow-Headers: Accept、Authorization、Content-Type、Origin Date: Thu, 01 Nov 2012 15:24:36 GMT Access-Control-Allow-Origin: * 経由: 1.1 ワニス Content-Type: application/xml; charset=utf-8
302 - 見つかった
Ti.API.debug(e.error); も追加しました。私が作成したdlXhr.onerror関数に、これは単に返されました