2013-04-04 115 views
0

而不是将Twitter前缀用于推文,Twitter现在在转推的推文上提供转发的标志。我想这显示在我的twitter推特上的推特鸣叫...即原始用户信息是嵌入在饲料twitter.com/userTwitter机器人未在推特上转发推文

这是我到目前为止的代码(使用API​​ 1.1 ):

$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); 
    $twitter->host = "http://search.twitter.com/"; 
    $search = $twitter->get('search', array('q' => '-escort -RT -ADRTBot #abudhabi', 'count' => 5)); 
    $twitter->host = "https://api.twitter.com/1.1/"; 
    foreach($search->results as $tweet) { 
     $status = $tweet->text; 
     if(strlen($status) > 140) $status = substr($status, 0, 139); 
     $twitter->post('statuses/retweet/$tweet->id', array('status' => $status)); 
     print "STATUS: $tweet->id $status<br>"; 
     } 

任何想法将受到感谢!


上述不起作用...我仍然在努力使用新的api 1.1转推。

下面是修改后的代码我到目前为止:

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

    define('CONSUMER_KEY', 'xxxxx'); 
    define('CONSUMER_SECRET', 'xxxxx'); 
    define('ACCESS_TOKEN', 'xxxxx'); 
    define('ACCESS_TOKEN_SECRET', 'xxxxx'); 

    $twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); 

    $tweets = $twitter->get("https://api.twitter.com/1.1/search/tweets.json?q=-escort%20-RT%20-ADRTBot%20abudhabi&count=5"); 
    $twitter->host = "https://api.twitter.com/1.1/"; 
    foreach($tweets as $tweet) { 
    foreach($tweet as $chirp) { 
     $id = $chirp->id_str; 
//testing that data coming through... and it is 
     echo "<br>THIS IS THE ID: $id<br>"; 
     echo "statuses/retweet/$id.json<br>"; 
     echo "$chirp->text<br>"; 

     $twitter->post('https://api.twitter.com/1.1/statuses/retweet/$id.json'); 
    } 
    } 
    echo json_encode($tweets); 

    ?> 

但是,不张贴到Twitter ......我失去了什么?

非常感谢,

[R

回答

0

你应该从原来的编码器单独留在家中的代码。直到3天前该机器人的实际工作,但由于叽叽喳喳的API 1.1机器人的更新已经停止运作,我认为这是到search.twitter.com的性质,尽管回答你的问题

[代码]

require_once('twitteroauth.php'); 

define('CONSUMER_KEY', '\\'); 
define('CONSUMER_SECRET', '\\'); 
define('ACCESS_TOKEN', '\\'); 
define('ACCESS_TOKEN_SECRET', '\\'); 


$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); 
$twitter->host = "http://search.twitter.com/"; 
$search = $twitter->get('search',array('q' => '#abudhabi', 'another hashtag here', 'another keyword here', 'rrp' => 4)); 


$twitter->host = "https://api.twitter.com/1.1/"; 
foreach($search->results as $tweet) { 
    $status = 'RT @'.$tweet->from_user.' '.$tweet->text; 
    if(strlen($status) > 140) $status = substr($status, 0, 139); 
    $twitter->post('statuses/update', array('status' => $status)); 
} 

echo "Success! Check your twitter bot for retweets!"; 

[/ code]