2011-07-24 33 views
-1

所以我試圖通過我的應用程序張貼用戶的推文。每當我剛得到的oauth_token和oauth_secret,我可以張貼鳴叫沒有問題,但是,如果我試圖挽救他們以後再發布的tweet,我得到的錯誤:twitter oauth身份驗證和張貼推文不起作用

object(stdClass)#5 (2) { 
    ["error"]=> 
     string(27) "Could not authenticate you." 
     ["request"]=> 
     string(23) "/1/statuses/update.json" 
    } 

這裏是劇本我最初用來獲得令牌:

<?php 

require("config.php"); 
require("twitterOAuth.php"); 
session_start(); 

     if(!empty($_GET['oauth_verifier']) && !empty($_SESSION['oauth_token']) &&           !empty($_SESSION['oauth_token_secret'])){ 
    // We've got everything we need 
} else { 
    // Something's missing, go back to square 1 
    //header('Location: new_index.php'); 
} 

// TwitterOAuth instance, with two new parameters we got in twitter_login.php 
$twitteroauth = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 
// Let's request the access token 

$oauth_token = $_SESSION['oauth_token']; 
$oauth_secret = $_SESSION['oauth_token_secret']; 

$access_token = $twitteroauth->getAccessToken($_GET['oauth_verifier']); 

//post tweet 
$result = $twitteroauth->post('statuses/update', array('status' => 'asd ')); 


// Save it in a session var 
$_SESSION['access_token'] = $access_token; 
// Let's get the user's info 
$user_info = $twitteroauth->get('account/verify_credentials'); 
?> 

這裏是腳本,我只是嘗試使用令牌鳴叫它:

<?php 
require("config.php"); 
require_once('twitterOAuth.php'); 
$oAuthToken  = $argv[1]; 
$oAuthSecret = $argv[2]; 
$message = $argv[3]; 
$post_id = $argv[4]; 

// create a new instance 
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, "$oAuthToken", "$oAuthSecret"); 

//send a tweet 
$result = $tweet->post('statuses/update', $message);//array('status' => "$message")); 
$tweet_id = $result['id_str']; 

?> 

任何想法?我真的可以在這裏使用一些幫助。它昨天晚上工作正常,現在突然它根本沒有工作:/

令牌過期後,他們不是會話變量後工作嗎?

回答

0

嘗試使用這個代碼(在代碼的第二部分):

<?php 
session_start(); 
require("config.php"); 
require_once("twitterOAuth.php"); 

$oAuthToken = $_SESSION['oauth_token']; 
$oAuthSecret = $_SESSION['oauth_token_secret']; 

等。這些代碼在你那正常嗎?

1
/*Try this one it will work proper*/ 
session_start(); 
require("config.php"); 
require_once("twitterOAuth.php"); 

$access_token = $_SESSION['access_token'];//which you got from callback 

/* Create a TwitterOauth object with consumer/user tokens. */ 
$tweet  = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']); 

$tweet->post('direct_messages/new', array('text' => $messageBody, 'screen_name' => $screenName))