【问题标题】:Twitter OAuth Send Status Update Not WorkingTwitter OAuth 发送状态更新不起作用
【发布时间】:2011-08-05 20:39:30
【问题描述】:

为什么这段代码不起作用?我需要它来获取搜索标签狗的最新推文,然后提交状态更新并回复发送带有搜索标签狗的推文的用户。我正在使用亚伯拉罕的 twitteroauth,在这里找到:https://github.com/abraham/twitteroauth/downloads

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

define('CONSUMER_KEY', 'CONSUMERKEYHERE');
define('CONSUMER_SECRET', 'SECRET HERE');
define('ACCESS_TOKEN', 'TOKENHERE');
define('ACCESS_TOKEN_SECRET', 'TOKENSECRETHERE');

$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$twitter->host = "http://search.twitter.com/";
$search = $twitter->get('search', array('q' => 'dog', 'rpp' => 5));

$twitter->host = "https://api.twitter.com/1/";
foreach($search->results as $tweet) {
    $status = '@$tweet->from_user Here my reply would go';
    $twitter->post('statuses/update', array('status' => $status));
}
?>

我已经输入了我的消费者密钥、秘密和令牌,但在这里删除了它们。

谢谢!

【问题讨论】:

  • 很抱歉在这里没有半点用处,因为我有一段时间没有使用 TwitterOAuth,但是 IIRC 如果您打印出 $twitter 变量,它应该有一个字段告诉您收到的最后一个错误来自 twitter.com
  • 这给了我错误:类 TwitterOAuth 的对象无法转换为字符串
  • 它给了我错误并显示连接超时api.twitter.com/1 This: object(TwitterOAuth)#1 (13) { ["http_code"]=> NULL ["url"]=> NULL [ "host"]=> string(26) "api.twitter.com/1" ["timeout"]=> int(30) ["connecttimeout"]=> int(30) ["ssl_verifypeer"]=> bool(false) ["格式"]=> string(4) "json" ["decode_json"]=> bool(true) ["http_info"]=> NULL ["useragent"]=> string(25) "TwitterOAuth v0.2.0-beta2" ["sha1_method"]=> object(OAuthSignatureMethod_HMAC_SHA1)#2 (0) { } ["consumer"]=> object(OAuthConsumer)#3 (3) { ["key"]=> string(22)
  • 然后显示所有消费者密钥等
  • 设置 $response = $twitter-&gt;post(...); 然后 var_dump($response); 这将打印从 Twitter 返回的任何错误。如果您收到连接超时检查,您实际上可以连接到 api.twitter.com 并且没有防火墙阻止连接。

标签: php twitter oauth status reply


【解决方案1】:

Twitter search API 独立于 REST API,不需要身份验证。所以使用 OAuth 可能行不通。

【讨论】:

  • 它可以很好地返回搜索结果,所以我可以回显它们。唯一不起作用的是发布状态更新。
猜你喜欢
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多