我正在尝试使用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次 - 访问令牌是正确的。
答案 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'));