2013-02-04 2 views
3

특정 사용자 트랙리스트를 가져 와서 표시하고 싶습니다. 이제는이 일을하기 위해 매닝을하고 있지만 항상 (링크를 눌러서) 연결해야합니다.이 단계를 없애거나 항상 인증을받을 수있는 방법은 없습니다. 나는 사운드 클라우드 API에서 이것을 재검토했지만 아무런 성공도 얻지 못했고 공개 데이터에 액세스 할 때 왜 인증이 필요한지 알지 못합니다.인증을받지 않은 Soundcloud 트랙 목록을 당깁니다.

<?php 
session_start(); 
//session_destroy(); 
require 'Soundcloud.php'; 

$soundcloud = new Services_Soundcloud('MY_CLIENT_ID', 'MY_SECRET', 'http://www.ericmlt.com/MarcKane/soundcloud/'); 
$soundcloud->setDevelopment(FALSE); 

$authURL = $soundcloud->getAuthorizeUrl(); 

echo "<a href='$authURL'>Connect to Soundcloud</a>"; 

//Attempt to get token from Session first 
//Set the token otherwise.. 

try { 

    $accessToken = $soundcloud->accessToken($_GET['code']); 
    if(!isset($_SESSION['token'])){ 
    $_SESSION['token'] = $accessToken['access_token'] ; 
} else { 
    $soundcloud->setAccessToken($_SESSION['token']); 
} 
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { 
    exit($e->getMessage()); 
} 
try { 
    $tracks = json_decode($soundcloud->get('tracks', array('user_id' => '857348')), TRUE); 
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { 
    exit($e->getMessage()); 
} 

foreach ($tracks as $track){ 
    $trackID = $track['id']; 
    echo '<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F'.$trackID.'"></iframe>'; 
} 
?> 
당신은 그냥이 같은 트랙 목록 만들 수

답변

3

: 당신이 트랙의 목록을 검색하고 (정말 권장하지 않음) 그들 각각의 위젯을 작성해야하는 경우, 그렇지 않으면

echo '<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http://api.soundcloud.com/users/857348"></iframe>'; 

을 당신은 할 수 이 함께 할 것입니다 (제가 PHP를 많이 쓰고 있지 않다주의,하지만 아이디어는 다음 URL로 HTTP GET을 발행하는 것입니다) :

$tracks_json = file_get_contents('http://api.soundcloud.com/users/857348/tracks.json?client_id=YOUR_CLIENT_ID'); 
$tracks = json_decode($tracks_json); 
foreach ($tracks as $track){ 
    $trackID = $track->id; 
    echo '<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F'.$trackID.'"></iframe>'; 
} 

당신은 정말 여기에 인증 할 필요가 없습니다.

+0

감사합니다. 너무 많이 관리했습니다 :) 정말 도움이되었습니다. – eric

관련 문제