2016-07-13 7 views
0

그래서 CodeCaudioy here을 통해 Soundcloud SDK에 대한 튜토리얼을 작성하고이를 통해 얻은 지식을 Codepen에 적용하고자했습니다. 하지만이 튜토리얼에서 사용하는 것과 다른 트랙, 특히이 노래 https://soundcloud.com/hardwell/coldplay-sky-full-of-stars-hardwell-remix-download을 사용하고 싶습니다.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