Abraham Williams Twitter oAuth PHP Callback Issue -


i building app using abraham william's twitteroauth package. app working fine, except running 1 problem.

about 25% of users try install app cannot so. verify application on twitter page , click "sign in" (on twitter's website). when referred callback.php page, gives them blank page. cannot figure out wrong, because works users. ideas?

here callback.php code:

<?php  require_once("config_db.php");  session_start(); // include class & create require_once("consumer-keys.php"); require_once("twitteroauth/twitteroauth/twitteroauth.php"); // user has selected deny access if(!empty($_get["denied"])) {   // re-direct or display cancelled view/template   // we're echoing out message   echo "no deal! <a href='login.php'>try again?</a>";   die(); }  // user has selected allow access given token if($_get["oauth_token"] == $_session["oauth_token"]) {   // use generated request tokens (from session) construct object   $toauth = new twitteroauth($consumerkey, $consumersecret, $_session["oauth_token"], $_session["oauth_token_secret"]);   // retrieve access token twitter   $accesstoken = $toauth->getaccesstoken();      //echo "received tokens<br>";   // check have valid response   if(is_numeric($accesstoken["user_id"]))  {     // save access tokens db (we're using session)     $_session["access_token"] = $accesstoken;      //get credentials via api     $credentials = $toauth->get('account/verify_credentials');      //echo "has numeric id<br>";      //isaac add db info     $query = "select * `t4i_app`.`users_twitter` user_id = '".$_session["access_token"]["user_id"]."'";     $rs = mysql_query($query);     if(mysql_num_rows($rs)) {          //update query         //echo "user exists..need update";         $query = "update  `t4i_app`.`users_twitter` set  `token` =  '".$_session["access_token"]["oauth_token"]."', `secret` =  '".$_session["access_token"]["oauth_token_secret"]."', `screen_name` =  '".$credentials->screen_name."', `followers` = '".$credentials->followers_count."'   `users_twitter`.`user_id` = '".$_session["access_token"]["user_id"]."';";         mysql_query($query);     } else {          $query = "insert  `t4i_app`.`users_twitter` (`id` ,`screen_name` ,`token` ,`secret`, `user_id`, `followers`, `referer` ,`last_update` ,`date_registered`) values (null, '".$credentials->screen_name."', '".$_session["access_token"]["oauth_token"]."', '".$_session["access_token"]["oauth_token_secret"]."', '".$_session["access_token"]["user_id"]."', '".$credentials->followers_count."', '0', current_timestamp , current_timestamp);";         mysql_query($query);      }     //echo $query;     //echo mysql_error();     //print_r($_session["access_token"]);     $message = array('status' => 'test oauth update. #testoauth');     $test = $toauth->post('statuses/update', array('status' => 'i added new appname twitter application http://bit.ly/sampleurl'));     //echo "posted status<br>";       //end isaac         // remove request token session variables     unset($_session["oauth_token"]);     unset($_session["oauth_token_secret"]);     // redirect main page     header("location: http://www.mydomain.com/welcome.php");   } else {     //echo "trying redirect <br>";      header("location: http://www.mydomain.com");   } } ?> 

if ($_get["oauth_token"] == $_session["oauth_token"]) 
  • you'll want put error_log in else this, you're failing without messages if oauth_tokens in , session don't match. twitter isn't responding properly.

  • also, capitalize location in header call. i'm not 100% every browser honor when it's not location:


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -