SoundCloud Tutorials:Authentication

This is Sound Cloud Tutorial Series. If you are first time seeing this post go back to SoundCloud Tutorials:Getting Started and read it. In previous lesson we have discussed what is SoundCloud, how to setup app on SoundCloud and how to get the SoundCloud PHP SDK.
SoundCloud Tutorials:Authentication


demo
download

1)Sound Cloud Tutorials:Getting Started
2)Sound Cloud Tutorials:Authentication
3a)Sound Cloud Tutorials:Uploading Audio Files
3b)Sound Cloud Tutorials:Uploading Audio Files(AJAX)
4)Sound Cloud Tutorials:Playing Audio Files In this tutorial we will learn how to Authenticate user when he first time comes to your web-Application.
Now Make your Folder structure as below.
SoundCloud Tutorials:Authentication Folder Structure
In above SoundCloud1 is our root folder.
lib - is our SoundCloud library contains SDK files.
config.php - is The app configuration file.
callback.php- is Our call back file.
index.php - in it we will have out login url.
Note:If you are using default SoundCloud SDK files and your on windows I suggest you to download the my version from above link. Other wise you will get The requested URL responded with HTTP code 0 error. I will write about this error more clearly in other post. Now lets got to the coding part.
config.php

<?php 
$clientId="Your-App-Client-ID"; 
$clientSecret="Your-APP-ClientSecret"; 
$callback="Your-APP-CallBack Page URl"; 

require_once 'lib/Soundcloud.php'; 
$soundcloud = new Services_Soundcloud($clientId, $clientSecret, $callback); 
?> 

In the previous tutorial of this series i suggested you to save the Client ID,Client Secret,Redirect URI for Authentication values in a note-pad. Just replace them in above code.
Here we including Soundcloud lib. In the last line we creating $soundcloud obect so that we can use the same object for all other pages by including config.php file.
index.php

<?php 
include("config.php"); 
$authorizeUrl = $soundcloud->getAuthorizeUrl(); 
?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
</head> 
<body> 
<a class="login"href="<?php echo $authorizeUrl; ?>"> 
<img src="img/btn-connect-sc-l.png" /> 
</a> 
</body> 
</html> 

Here we generating authorizeUrl using the API.
callback.php

<?php 
include("config.php"); 
try { 
$accessToken = $soundcloud->accessToken($_GET['code']); 
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { 
exit($e->getMessage()); 
} 
try { 
$me = json_decode($soundcloud->get('me'), true); 
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { 
exit($e->getMessage()); 
} 

$user_data = array( 
'access_token' => $accessToken['access_token'], 
'id' => $me['id'], 
'username' => $me['username'], 
'name' => $me['full_name'], 
'avatar' => $me['avatar_url'] 
); 

echo 'Welcome'.$user_data['name']; 

In this code first we obtaining $accessToken. We will use it in later chapters. In second try-catch block we will get the user data. See _$user_data_ is an array which will store assces_taken value and other user data.
In this example we simply displaying a Welcome message the user.

Note:When I test this script it works perfectly in local host. When iam testing it on server I got Parse error: syntax error, unexpected T_FUNCTION, expecting ‘)’ in /Soundcloud.php error. So again I modified the API code Now it working good.


That’s it. In Next tutorial we will learn how Uploading Audio Files on SoundCloud.