使用Twitteroauth发布Twitter不会发布

时间:2013-01-25 18:48:38

标签: php twitter oauth twitter-oauth

我正在尝试使用twitteroauth库发布到Twitter。这是我的剧本。

<?php
require_once('twitteroauth/twitteroauth.php');

$consumerKey    = 'xx';
$consumerSecret = 'xx';
$oAuthToken     = 'xx';
$oAuthSecret    = 'xx';

// Connect to Twitter
$connection = new TwitterOAuth($consumerKey, $consumerSecret,$oAuthToken, $oAuthSecret);

// Post Update
$content = $connection->post('statuses/update', array('status' => 'Test Tweet'));

var_export($connection->http_info);
?>

导出以进行调试:

array ( 'url' => 'https://api.twitter.com/1/statuses/update.json', 'content_type' => 'application/json; charset=utf-8', 'http_code' => 401, 'header_size' => 982, 'request_size' => 478, 'filetime' => -1, 'ssl_verify_result' => 0, 'redirect_count' => 0, 'total_time' => 0.376407, 'namelookup_time' => 0.017936, 'connect_time' => 0.098766, 'pretransfer_time' => 0.274227, 'size_upload' => 292, 'size_download' => 84, 'speed_download' => 223, 'speed_upload' => 775, 'download_content_length' => 84, 'upload_content_length' => 292, 'starttransfer_time' => 0.376153, 'redirect_time' => 0, )

推文没有发布。我检查了10次 - 访问令牌是正确的。

1 个答案:

答案 0 :(得分:0)

首先,发布Twitter推文的网址是错误的,因为不推荐使用API​​ v1。您必须使用API​​ v1.1发布推文。幸运的是,如果您现在已经下载了twitteroauth,那么它已经设置好了。

如果不是,则必须将版本设置为1.1

转到twitteroauth.php并将public $ host设置为

public $host= "https://api.twitter.com/1.1/"; 

第21行。

现在你的推文网址是

https://api.twitter.com/1.1/statuses/update.json

现在使用以下连接字符串发送推文。

$content = $connection->post('statuses/update', array('status' => 'Test Tweet'));