Login   Register  
PHP Classes

File: token_response.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Aziz S. Hussain  >  Netflix API Wrapper  >  token_response.php  >  Download  
File: token_response.php
Role: Class source
Content type: text/plain
Description: Token Response Object
Class: Netflix API Wrapper
Retrieve NetFlix Web services using its API
Author: By
Last change:
Date: 3 years ago
Size: 3,873 bytes


Class file image Download
 * This is the file that gets a response 
 * from netflix with OK, no get your user links
 * @copyright  2011 Aziz Hussain
 * @version    1.0
 * @link       http://azizsaleh.com
 * @email      azizsaleh@gmail.com

define ('BASE_DIR'dirname(__FILE__) .'/');
define ('USER_ID'session_id());

require_once ( 
BASE_DIR 'Configuration.php');
require_once ( 
BASE_DIR 'includes/NetflixAPI.php');
require_once ( 
BASE_DIR 'includes/Request.php');
require_once ( 
BASE_DIR 'includes/OAuthSimple.php');

require_once ( 
BASE_DIR 'netflix/nonAuthenticatedCall.php');
require_once ( 
BASE_DIR 'netflix/protectedCall.php');
require_once ( 
BASE_DIR 'netflix/signedCall.php');
require_once ( 
BASE_DIR 'netflix/getToken.php');

 This class handles netflix response
class netflixResponse
    @param        string        authroziation_code
    @param        string        api_file = NULL
public function __construct($authorization_code$api_file NULL)
// Load configurations
$this->configs             = new Configuration($api_file);
// Load HTTP Request object
$this->request             = new Request($this->configs);
// Database handler
$this->storage             = new storageObject($this->configs);
// Load configs from db
$code_info $this->storage->getUserToken();
$this->configs->oauth_token         $code_info[0];
$this->configs->oauth_token_secret     $code_info[1];

    This function will request the final keys using 
    consumer key and consumer secret        
    @param        string        authorization_code
private function _requestFinalTokens($authorization_code)
$api_url $this->composeVariables('http://api.netflix.com/oauth/access_token'
'output' => 'json'));

$this->request->makeRequest($api_url, array());
$response $this->request->getRawResponse();

$oauth_token             $results[1][0];
$oauth_token_secret     $results[2][0];

        For some reason, the above user ID doesn't work most of the time..
        let's re-query and get the final netflix user_id ....
$Netflix = new NetflixAPI();
$user_info $Netflix->getCurrentUser();

$netflix_userid preg_replace('/.*users\//'''$user_info->resource->link->href);
// Rediect user
header("Location: " $this->configs->app_redirect);
    This function will compose variables
    and add required keys depending on call
    @param        string    api_url
    @param        array    request_vars    
    @return        string
private function composeVariables($api_url$request_vars = array())
$signatures = array(
'consumer_key'    => $this->configs->consumer_key,  
'shared_secret'    => $this->configs->shared_key );

// Add secret codes for user
if (isset($this->configs->oauth_token) && isset($this->configs->oauth_token_secret))
$signatures['access_token']     = $this->configs->oauth_token;
$signatures['access_secret']     = $this->configs->oauth_token_secret;

$auth_object = new OAuthSimple($this->configs->consumer_key$this->configs->shared_key);  
$request $auth_object->sign(
'path'            => $api_url,  
'parameters'     => $request_vars,  
'signatures'     => $signatures));

// Check if we have a response
if (isset($_GET['oauth_token'])) {
$get_auth = new netflixResponse($_GET['oauth_token']);