<?php /** * @file * User has successfully authenticated with Twitter. Access tokens saved to session and DB. */ /* Load required lib files. */ session_start(); require 'config.php'; /* If access tokens are not available redirect to connect page. */ if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) { header('Location: ./clearsessions.php'); } /* Get user access tokens out of the session. */ $access_token = $_SESSION['access_token']; /* Create a TwitterOauth object with consumer/user tokens. */ $connection = new Twitter\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']); /* If method is set change API call made. Test is called by default. */ $content = $connection->get('account/verify_credentials'); /* Some example calls */ //$connection->get('users/show', array('screen_name' => 'abraham')); //$connection->post('statuses/update', array('status' => date(DATE_RFC822))); //$connection->post('statuses/destroy', array('id' => 5437877770)); //$connection->post('friendships/create', array('id' => 9436992)); //$connection->post('friendships/destroy', array('id' => 9436992)); /* Include HTML to display on the page */ include 'html.inc';
<?php /* Start session and load library. */ session_start(); require_once 'config.php'; /* Build TwitterOAuth object with client credentials. */ $connection = new Twitter\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); /* Get temporary credentials. */ $request_token = $connection->getRequestToken(OAUTH_CALLBACK); /* Save temporary credentials to session. */ $_SESSION['oauth_token'] = $token = $request_token['oauth_token']; $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; /* If last connection failed don't display authorization link. */ switch ($connection->http_code) { case 200: /* Build authorize URL and redirect user to Twitter. */ $url = $connection->getAuthorizeURL($token); header('Location: ' . $url); break; default: /* Show notification if something went wrong. */ echo 'Could not connect to Twitter. Refresh the page or try again later.'; }
/** * @file * Take the user when they return from Twitter. Get access tokens. * Verify credentials and redirect to based on response from Twitter. */ /* Start session and load lib */ session_start(); require_once 'config.php'; /* If the oauth_token is old redirect to the connect page. */ if (isset($_REQUEST['oauth_token']) && $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) { $_SESSION['oauth_status'] = 'oldtoken'; header('Location: ./clearsessions.php'); } /* Create TwitteroAuth object with app key/secret and token key/secret from default phase */ $connection = new Twitter\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); /* Request access tokens from twitter */ $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); /* Save the access tokens. Normally these would be saved in a database for future use. */ $_SESSION['access_token'] = $access_token; /* Remove no longer needed request tokens */ unset($_SESSION['oauth_token']); unset($_SESSION['oauth_token_secret']); /* If HTTP response is 200 continue otherwise send to connect page to retry */ if (200 == $connection->http_code) { /* The user has been verified and the access tokens can be saved for future use */ $_SESSION['status'] = 'verified'; header('Location: ./index.php'); } else { /* Save HTTP status for error dialog on connnect page.*/ header('Location: ./clearsessions.php');
/* friends/ids */ $method = 'friends/ids'; twitteroauth_row($method, $connection->get($method), $connection->http_code); /* friends/ids */ $method = 'friends/ids'; twitteroauth_row($method, $connection->get($method), $connection->http_code); /** * Account Methods. */ twitteroauth_header('Account Methods'); /* account/verify_credentials */ $method = 'account/verify_credentials'; twitteroauth_row($method, $connection->get($method), $connection->http_code); /* account/rate_limit_status */ $method = 'account/rate_limit_status'; twitteroauth_row($method, $connection->get($method), $connection->http_code); /* account/update_profile_colors */ $parameters = array('profile_background_color' => 'fff'); $method = 'account/update_profile_colors'; twitteroauth_row($method, $connection->post($method, $parameters), $connection->http_code, $parameters); /* account/update_profile */ $parameters = array('location' => 'Teh internets'); $method = 'account/update_profile'; twitteroauth_row($method, $connection->post($method, $parameters), $connection->http_code, $parameters); /** * OAuth Methods. */ twitteroauth_header('OAuth Methods'); /* oauth/request_token */ $oauth = new Twitter\TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); twitteroauth_row('oauth/reqeust_token', $oauth->getRequestToken(), $oauth->http_code);