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