Skip to content

Instantly share code, notes, and snippets.

@mheap
Last active August 30, 2021 09:24
Show Gist options
  • Save mheap/876353 to your computer and use it in GitHub Desktop.
Save mheap/876353 to your computer and use it in GitHub Desktop.
Example of using PECL's OAuth for PHP
<?php session_start();
define('OAUTH_CONSUMER_KEY', '');
define('OAUTH_CONSUMER_SECRET', '');
define('OAUTH_REQUEST_URL', 'https://api.twitter.com/oauth/request_token');
define('OAUTH_ACCESS_URL', 'https://api.twitter.com/oauth/access_token');
define('OAUTH_AUTHORISE_URL', 'https://api.twitter.com/oauth/authorize');
define('API_URL','http://api.twitter.com/1/');
define('CALLBACK_URL','http://example.com/');
if ( isset($_GET['reset'] ) )
{
unset($_SESSION['token']);
}
try {
$oauth = new OAuth( OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
if (!isset( $_GET['oauth_token'] ) && !isset($_SESSION['token']) )
{
$request_token = $oauth->getRequestToken( OAUTH_REQUEST_URL, CALLBACK_URL );
$_SESSION['secret'] = $request_token['oauth_token_secret'];
header('Location: '. OAUTH_AUTHORISE_URL .'?oauth_token='.$request_token['oauth_token']);
}
if ( isset($_GET['oauth_token']) && isset($_GET['oauth_verifier']) )
{
$oauth->setToken($_GET['oauth_token'], $_SESSION['secret']);
$access_token = $oauth->getAccessToken( OAUTH_ACCESS_URL );
$_SESSION['token'] = serialize( $access_token );
header('location: /oauth.php');
}
$access_token = unserialize($_SESSION['token']);
$oauth->setToken( $access_token['oauth_token'], $access_token['oauth_token_secret'] );
$oauth->fetch( API_URL . 'account/verify_credentials.json' );
echo '<pre>';
$json = json_decode($oauth->getLastResponse());
print_r($json);
} catch(OAuthException $e) {
echo '<pre>';
print_r($e);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment