2016-04-16 46 views
0

私はajax呼び出しを行い、Soundcloud APIからJSON応答を取得しています。私が抱えている問題は、アクセスするためにいくつかのトラックが禁止されている(エラー403)ということです。しかし、私はまだGETリクエストが終わったURLを取得したいと思っています。それは、取得したいトラックIDを保持しているからです。ここでは、コードです:Ajaxは403エラーからリダイレクトURLを取得します

function getSoundcloudId(url, callback) { 
$.ajax({ 
    type:"GET", 
    url: 'https://api.soundcloud.com/resolve.json?url=' + url + '&client_id=6d5bc62a483dce12f6f1d01bd93a0608', 
    dataType: "text", 
    success: function(data) { 
    var json = $.parseJSON(data); 
    callback(json); 
    }, 
    complete: function(xhr, textstatus) { 
    console.log(textstatus); 
    }, 
    error: function(jqXHR, status, error) { 
    console.log(jqXHR.getAllResponseHeaders()); 

    }, 
}); 
} 

私は試しとnullを返し、私は新しいリダイレクトされたURLを表示するXHRレスポンス内で何かを見つけることができませんヘッダーから場所を取得しようとしてきました。 Chromeのコンソールでは、リダイレクトされたURLで私のウェブページが禁止されていると警告していますが、それが助けになるかどうかはわかりませんが、それが見つかると怒っていました。

Chrome 403 Response with redirect URL

答えて

0

あなたが戻ってSoundcloudから任意の情報を得るのですか?

応答を出力してその内容を確認すると便利な場合があります。

私はAPIを簡単に見ていて、簡単なGETリクエストで認証する必要はないようです。

ブラウザで「https://api.soundcloud.com/tracks?client_id=6d5bc62a483dce12f6f1d01bd93a0608」を試してみました。

あなたは何をしようとしていますか、認証は必要ありませんか?

+0

私は特定のトラックの後にいるので、認証が必要です。私は大部分のトラックで作業していますが、禁止されている403を返すトラックがいくつかあります。そこからリクエストする別のURLがある場合、ストリームURLを持つJSONが返されます。あなたは https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/therealpressplay/sevenyears&client_id=6d5bc62a483dce12f6f1d01bd93a0608 をしようとするとあなたはそこから403応答を取得し、あなたは、URLを交換する場合別のトラックでは問題ありません。私はその応答からリダイレクトされたURLを必要としています。 – Jordan

関連する問題