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 $userdata_ 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.

Get posts by email

Like what you're reading? Get these posts delivered to your inbox.