diff options
Diffstat (limited to 'vendor/lusitanian/oauth/examples/twitter.php')
-rw-r--r-- | vendor/lusitanian/oauth/examples/twitter.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/lusitanian/oauth/examples/twitter.php b/vendor/lusitanian/oauth/examples/twitter.php new file mode 100644 index 00000000..6b14a222 --- /dev/null +++ b/vendor/lusitanian/oauth/examples/twitter.php @@ -0,0 +1,62 @@ +<?php + +/** + * Example of retrieving an authentication token of the Twitter service + * + * PHP version 5.4 + * + * @author David Desberg <david@daviddesberg.com> + * @author Pieter Hordijk <info@pieterhordijk.com> + * @copyright Copyright (c) 2012 The authors + * @license http://www.opensource.org/licenses/mit-license.html MIT License + */ + +use OAuth\OAuth1\Service\Twitter; +use OAuth\Common\Storage\Session; +use OAuth\Common\Consumer\Credentials; + +/** + * Bootstrap the example + */ +require_once __DIR__ . '/bootstrap.php'; + +// We need to use a persistent storage to save the token, because oauth1 requires the token secret received before' +// the redirect (request token request) in the access token request. +$storage = new Session(); + +// Setup the credentials for the requests +$credentials = new Credentials( + $servicesCredentials['twitter']['key'], + $servicesCredentials['twitter']['secret'], + $currentUri->getAbsoluteUri() +); + +// Instantiate the twitter service using the credentials, http client and storage mechanism for the token +/** @var $twitterService Twitter */ +$twitterService = $serviceFactory->createService('twitter', $credentials, $storage); + +if (!empty($_GET['oauth_token'])) { + $token = $storage->retrieveAccessToken('Twitter'); + + // This was a callback request from twitter, get the token + $twitterService->requestAccessToken( + $_GET['oauth_token'], + $_GET['oauth_verifier'], + $token->getRequestTokenSecret() + ); + + // Send a request now that we have access token + $result = json_decode($twitterService->request('account/verify_credentials.json')); + + echo 'result: <pre>' . print_r($result, true) . '</pre>'; + +} elseif (!empty($_GET['go']) && $_GET['go'] === 'go') { + // extra request needed for oauth1 to request a request token :-) + $token = $twitterService->requestRequestToken(); + + $url = $twitterService->getAuthorizationUri(array('oauth_token' => $token->getRequestToken())); + header('Location: ' . $url); +} else { + $url = $currentUri->getRelativeUri() . '?go=go'; + echo "<a href='$url'>Login with Twitter!</a>"; +} |