Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter OAuth (PHP): Need good, basic example to get started

Using Facebook's PHP SDK, I was able to get Facebook login working pretty quickly on my website. They simply set a $user variable that can be accessed very easily.

I've had no such luck trying to get Twitter's OAuth login working... quite frankly, their github material is confusing and useless for someone that's relatively new to PHP and web design, not to mention that many of the unofficial examples I've tried working through are just as confusing or are outdated.

I really need some help getting Twitter login working--I mean just a basic example where I click the login button, I authorize my app, and it redirects to a page where it displays the name of the logged in user.

I really appreciate your help.

EDIT I'm aware of the existence of abraham's twitter oauth but it provides close to no instructions whatsoever to get his stuff working.

like image 704
tnw Avatar asked Jul 01 '11 16:07

tnw


People also ask

What is OAuth in Twitter API?

OAuth 1.0a allows an authorized Twitter developer App to access private account information or perform a Twitter action on behalf of a Twitter account.


1 Answers

this one is the basic example of getting the url for authorization and then fetching the user basic info when once u get back from twitter

<?php session_start(); //add autoload note:do check your file paths in autoload.php require "ret/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; //this code will run when returned from twiter after authentication if(isset($_SESSION['oauth_token'])){   $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']);   $consumer_key = 'your consumer key';   $consumer_secret = 'your secret key';   $connection = new TwitterOAuth($consumer_key, $consumer_secret);  //necessary to get access token other wise u will not have permision to get user info   $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']);   $access_token = $connection->oauth("oauth/access_token", $params);   //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error   $connection = new TwitterOAuth($consumer_key, $consumer_secret,   $access_token['oauth_token'],$access_token['oauth_token_secret']);   $content = $connection->get("account/verify_credentials");   print_r($content); } else{   // main startup code   $consumer_key = 'your consumer key';   $consumer_secret = 'your secret key';   //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example    $connection = new TwitterOAuth($consumer_key, $consumer_secret);   $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php'));   $_SESSION['oauth_token']=$temporary_credentials['oauth_token'];       $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); // REDIRECTING TO THE URL   header('Location: ' . $url);  } ?> 
like image 88
zoomi Avatar answered Oct 05 '22 11:10

zoomi