2011-01-26 43 views
1

我有以下两个文件Twitter的API失败

sendTweet.php

<?php 

require_once('twitteroauth.php'); 
require_once('OAuth.php'); 

session_start(); 

$consumer_key = '!!!'; 
$consumer_secret = '!!!'; 
$connection = new TwitterOAuth ($consumer_key, $consumer_secret); 

$request_token = $connection->getRequestToken(); 

$_SESSION ['Oauth_token'] = $token = $request_token['oauth_token']; 
$_SESSION ['Oauth_token_secret'] = $request_token['oauth_token_secret']; 


switch ($connection->http_code) { 
case 200: 
$url = $connection->getAuthorizeURL ($token); 
header ('Location:'. $url); 
break; 
default: 
echo 'Could not connect to Twitter. Refresh the page or try again later.'; 
} 

?> 

而且我的回调,followthru.php

<?php 
require_once('twitteroauth.php'); 
require_once('OAuth.php'); 
session_start(); 

$consumer_key = '!!!'; 
$consumer_secret = '!!!'; 

if (isset ($_REQUEST ['oauth_token']) && $_SESSION ['oauth_token'] !== $_REQUEST ['oauth_token']) { 
$_SESSION ['Oauth_status'] = 'oldtoken'; 
} 

$connection = new TwitterOAuth ($consumer_key, $consumer_secret, $_SESSION ['oauth_token'], $_SESSION ['oauth_token_secret']); 

$access_token = $connection-> getAccessToken ($_REQUEST ['oauth_verifier']); 

$_SESSION ['access_token'] = $access_token; 

$content = $connection->get('account/verify_credentials'); 
print_r($content); 
$connection->post('statuses/update', array('status' => 'Text of status here')); 
if (200 == $connection->http_code) { 
echo 'Success!'; 
// $_SESSION ['status'] = 'verified'; 
} else { 
} 
?> 

Followthru.php呼应的:

stdClass Object ([request] => /1/account/verify_credentials.json?oauth_consumer_key=pIkRdkUVhiKPiw32S2zbA&oauth_nonce=1e6bfcdaf50c2213219341105edd353c&oauth_signature=qNJ8g1i9eXZEM%2FgbTHLxMpkHZmg%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1296010545&oauth_token=&oauth_version=1.0 [error] => Could not authenticate you.) 

这表明它无法验证指导我?我完全困惑,如果你们帮助我,我会很感激。

+0

不知道。但也许你可以在这里找到一个类似的错误结果与先前的Twitter和OAuth的帮助请求之一:http://stackoverflow.com/questions/tagged/twitter+php+oauth – mario 2011-01-26 03:20:43

回答

0

它看起来像你缺少的代码的某些部分..

new TwitterOAuth ($consumer_key, $consumer_secret, $_SESSION ['oauth_token'], $_SESSION ['oauth_token_secret']);

那些人在那里$ _SESSION瓦尔界定?

也许这个片段可以帮助你有点用,你需要做一些事情的顺序:

if (isset($_GET['oauth_token'])) { 
     $Twitter->setToken($_GET['oauth_token']); 
     $token = $Twitter->getAccessToken(); 
     $Twitter->setToken($token->oauth_token, $token->oauth_token_secret); 
     $user= $Twitter->get_accountVerify_credentials(); 
} 
+0

讨厌问和声哑巴,但什么文件我把它放进去? – cdog5000 2011-02-01 04:05:09