0

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

4

1 回答 1

0

首先,由于 API v1 已弃用,因此向 twitter 发布推​​文的 url 是错误的。您必须使用 API v1.1 发布推文。幸运的是,如果您现在已经下载了 twitteroauth,那么它已经设置好了。

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

转到 twitteroauth.php 并将公共 $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'));
于 2013-10-20T13:53:45.647 回答