Twitter は、ツイートに RT プレフィックスを使用するのではなく、リツイートされたツイートにリツイートされたサインを提供するようになりました。Twitter ボットでリツイートされたツイートにこれが表示されるようにしたいと思います...つまり、元のユーザー情報は twitter.com/user のフィードに埋め込まれています。
これは私がこれまでに持っているコードです(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