2016-07-13 5 views
0

私はCodeAcademy hereでSoundcloud SDKのチュートリアルを行い、それから学んだ知識をCodepenに載せたいと思っていました。しかし、私はこのチュートリアルで使用しているものとは別のトラック、特にこの曲https://soundcloud.com/hardwell/coldplay-sky-full-of-stars-hardwell-remix-downloadを使用したいと思います。Soundcloud SDK - URLからトラックをロード

私は/resolveがtrackidを取得するには良いアプローチでしたが、動作していません。私は403 Forbiddenをコンソールに持っています。

SC.get('/resolve/?url=https://soundcloud.com/hardwell/coldplay-sky-full-of-stars-hardwell-remix-download&client_id=3596a42d6242b9c1ee76740a7771d33a', function(track) { 
    console.log(track); // returns null 
}); 

ここは私のcodepenです。私の基本的なSoundCloud SDKオーディオプレーヤーにこのトラックを読み込ませてください。ありがとう

答えて

1

あなたのコードは正しいですし、いくつかのトラック、例えばドキュメンテーションのものでも動作します。

私が個人的に見つけた問題には、ドキュメントで強調する必要があります。このトラックのAPIアクセスは無効になっているため(ウィジェットが有効な場合でも)、APIを使用してこのトラックを照会する権利がなく、403 Forbidden HTTPステータスコードが返されます。

これはSoundCloud terms of useLinked Services部分に記載されています

いつでも、プラットフォームの他のユーザーに、およびリンクサービスのユーザーにあなたのコンテンツの特定の利用可能性を制限し、制限することができます下の免責条項の条項に従って、アップロードするサウンドごとにトラック編集セクションの権限タブを使用してください。

あなたはトラックの情報を取得し、成功したか失敗したかによるが、このようなエラーが発生した場合、あなたのコードをチェックインし、正しい行動を継続することができます:私は見

var clientId = 'CLIENT_ID'; 

SC.initialize({ 
    client_id: clientId 
}); 

var songUrl = 'https://soundcloud.com/hardwell/coldplay-sky-full-of-stars-hardwell-remix-download'; 

SC.get('/resolve?url=' + songUrl + '&client_id=' + clientId, function(data, error) { 
    if (error === null) { 
    console.log('Do something like playing the song.'); 
    } else { 
    console.log('Print an error message?'); 
    } 
}); 
+0

ああ。私の計画はそんなにうまくいかないだろうね。ご回答有難うございます! – cocoa

関連する問題