Class Services_Soundcloud - echiong/testRepo GitHub Wiki

##Class Services_Soundcloud

SoundCloud API wrapper with support for authentication using OAuth 2

Package: [[Services<a href="Package Services.Soundcloud.md">Soundcloud]]
Category: Services
Copyright: 2010 Anton Lindqvist <[email protected]>
License: MIT
Author: Anton Lindqvist <[email protected]>
Link: http://github.com/mptre/php-soundcloud
Located at SoundCloud_Services/Soundcloud.php

##Methods summary


public __construct ( string $clientId, string $clientSecret, string $redirectUri = null, boolean $development = false )

Class constructor

Parameters

$clientId string
$clientId OAuth client id

$clientSecret string
$clientSecret OAuth client secret

$redirectUri string
$redirectUri OAuth redirect URI

$development boolean
$development Sandbox mode

Throws Services_Soundcloud_Missing_Client_Id_Exception


public string getAuthorizeUrl ( array $params = array() )

Get authorization URL

Parameters

$params array
$params Optional query string parameters

Returns string

See Soundcloud::_buildUrl()


public string getAccessTokenUrl ( array $params = array() )

Get access token URL

Parameters

$params array
$params Optional query string parameters

Returns string

See Soundcloud::_buildUrl()


public mixed accessToken ( string $code = null, array $postData = array(), array $curlOptions = array() )

Retrieve access token

Parameters

$code string
$code Optional OAuth code returned from the service provider

$postData array
$postData Optional post data

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_getAccessToken()


public mixed accessTokenRefresh ( string $refreshToken, array $postData = array(), array $curlOptions = array() )

Refresh access token

Parameters

$refreshToken string
$refreshToken The token to refresh

$postData array
$postData Optional post data

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_getAccessToken()


public mixed getAccessToken ( )

Get access token

Returns mixed


public integer getApiVersion ( )

Get API version

Returns integer


public string getAudioMimeType ( string $extension )

Get the corresponding MIME type for a given file extension

Parameters

$extension string
$extension Given extension

Returns string

Throws Services_Soundcloud_Unsupported_Audio_Format_Exception


public mixed getCurlOptions ( string $key = null )

Get cURL options

Parameters

$key string
$key Optional options key

Returns mixed


public boolean getDevelopment ( )

Get development mode

Returns boolean


public mixed getHttpHeader ( string $header )

Get HTTP response header

Parameters

$header string
$header Name of the header

Returns mixed


public string getRedirectUri ( )

Get redirect URI

Returns string


public string getResponseFormat ( )

Get response format

Returns string


public object setAccessToken ( string $accessToken )

Set access token

Parameters

$accessToken string
$accessToken Access token

Returns object


public object setCurlOptions ( )

Set cURL options

The method accepts arguments in two ways.

You could pass two arguments when adding a single option.

$soundcloud->setCurlOptions(CURLOPT_SSL_VERIFYHOST, 0);

You could also pass an associative array when adding multiple options.

$soundcloud->setCurlOptions(array(
    CURLOPT_SSL_VERIFYHOST => 0,
   CURLOPT_SSL_VERIFYPEER => 0
));

Returns object


public object setRedirectUri ( string $redirectUri )

Set redirect URI

Parameters

$redirectUri string
$redirectUri Redirect URI

Returns object


public object setResponseFormat ( string $format )

Set response format

Parameters

$format string
$format Response format, could either be XML or JSON

Returns object

Throws Services_Soundcloud_Unsupported_Response_Format_Exception


public object setDevelopment ( boolean $development )

Set development mode

Parameters

$development boolean
$development Development mode

Returns object


public mixed get ( string $path, array $params = array(), array $curlOptions = array() )

Send a GET HTTP request

Parameters

$path string
$path Request path

$params array
$params Optional query string parameters

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_request()


public mixed post ( string $path, array $postData = array(), array $curlOptions = array() )

Send a POST HTTP request

Parameters

$path string
$path Request path

$postData array
$postData Optional post data

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_request()


public mixed put ( string $path, array $postData, array $curlOptions = array() )

Send a PUT HTTP request

Parameters

$path string
$path Request path

$postData array
$postData Optional post data

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_request()


public mixed delete ( string $path, array $params = array(), array $curlOptions = array() )

Send a DELETE HTTP request

Parameters

$path string
$path Request path

$params array
$params Optional query string parameters

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_request()


public mixed download ( integer $trackId, array $params = array(), array $curlOptions = array() )

Download track

Parameters

$trackId integer
$trackId Track id to download

$params array
$params Optional query string parameters

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

See Soundcloud::_request()


public mixed updatePlaylist ( integer $playlistId, array $trackIds, array $optionalPostData = null )

Update a existing playlist

Parameters

$playlistId integer
$playlistId The playlist id

$trackIds array
$trackIds Tracks to add to the playlist

$optionalPostData array
$optionalPostData Optional playlist fields to update

Returns mixed

See Soundcloud::_request()


protected array _buildDefaultHeaders ( boolean $includeAccessToken = true )

Construct default HTTP request headers

Parameters

$includeAccessToken boolean
$includeAccessToken Include access token

Returns array
$headers


protected string _buildUrl ( string $path, array $params = array(), boolean $includeVersion = true )

Construct a URL

Parameters

$path string
$path Relative or absolute URI

$params array
$params Optional query string parameters

$includeVersion boolean
$includeVersion Include API version

Returns string
$url


protected mixed _getAccessToken ( array $postData, array $curlOptions = array() )

Retrieve access token

Parameters

$postData array
$postData Post data

$curlOptions array
$curlOptions Optional cURL options

Returns mixed


protected string _getUserAgent ( )

Get HTTP user agent

Returns string


protected array _parseHttpHeaders ( string $headers )

Parse HTTP headers

Parameters

$headers string
$headers HTTP headers

Returns array
$parsedHeaders


protected boolean _validResponseCode ( integer $code )

Validate HTTP response code

Parameters

$code integer
$code HTTP code

Returns boolean


protected mixed _request ( string $url, array $curlOptions = array() )

Performs the actual HTTP request using cURL

Parameters

$url string
$url Absolute URL to request

$curlOptions array
$curlOptions Optional cURL options

Returns mixed

Throws Services_Soundcloud_Invalid_Http_Response_Code_Exception

<table class="summary" id="constants">
<caption>Constants summary</caption>
<tr data-order="CURLOPT_OAUTH_TOKEN" id="CURLOPT_OAUTH_TOKEN">

	<td class="attributes"><code>integer</code></td>
	<td class="name"><code>

CURLOPT_OAUTH_TOKEN

173
#
		<div class="description detailed">

Custom cURL option

		</div>
	</div></td>
</tr>
</table>
⚠️ **GitHub.com Fallback** ⚠️