У меня теперь есть несколько тысяч подписчиков Twitter, и до сих пор я слежу за ними вручную. Теперь я хочу автоматизировать процесс с помощью PHP, так как это может занять много времени, чтобы следовать за всеми.Автоматическое возвращение назад на Twitter
Я нашел библиотеку Twitter для PHP, созданную Абрахамом Уильямсом, и начал писать код.
Однако каждый раз, когда я запускаю сценарий, число пользователей, которые мне нужны для последующего отслеживания, неверно! Является ли это ошибкой в моем кодировании, или это именно то, как работает API Twitter?
Вот мой код:
<?php
require_once 'twitteroauth/twitteroauth.php';
define('CONSUMER_KEY', '');
define('CONSUMER_SECRET', '');
define('ACCESS_TOKEN', '');
define('ACCESS_TOKEN_SECRET', '');
ob_start();
set_time_limit(0);
function autoFollow($action){
//auth with twitter.
$toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
//get the last 5000 followers
$followers = $toa->get('followers/ids', array('cursor' => -1));
$followerIds = array();
foreach ($followers->ids as $i => $id) {
$followerIds[] = $id;
}
//get the last 5000 people you've followed
$friends = $toa->get('friends/ids', array('cursor' => -1));
$friendIds = array();
foreach ($friends->ids as $i => $id) {
$friendIds[] = $id;
}
if($action=="unfollow"){
//unfollow all users that aren't following back.
$usersNotFollowingBackcount = 0;
$usersNotFollowingBack = array();
foreach($friendIds as $id){
if(!in_array($id,$followerIds)){
array_push($usersNotFollowingBack, $id);
//unfollow the user
//$toa->post('friendships/destroy', array('id' => $id));
$usersNotFollowingBackcount++;
echo $usersNotFollowingBackcount.' users unfollowed so far</br>';
ob_flush();
flush();
}
}
echo sizeof($usersNotFollowingBack).' users who weren\'t following you back have now been unfollowed!';
}
if($action =="follow"){
//follow all users that you're not following back.
$usersYoureNotFollowingBackcount = 0;
$usersYoureNotFollowingBack = array();
foreach($followerIds as $id){
if(!in_array($id,$friendIds)){
array_push($usersYoureNotFollowingBack, $id);
//follow the user
//$toa->post('friendships/create', array('id' => $id));
$usersYoureNotFollowingBackcount++;
echo $usersYoureNotFollowingBackcount.' users followed back so far</br>';
ob_flush();
flush();
}
}
echo sizeof($usersYoureNotFollowingBack).' users have been followed back!';
}
}
if($_GET['action']){
autoFollow($_GET['action']);
ob_end_flush();
}
?>
Почему вы хотите, чтобы следовать так много людей, что даже становится такими что вы должны его автоматизировать? – BoltClock
Тогда вам понадобится сценарий, чтобы блокировать все входящие твиты от людей, которых вы следовали. –
80% пользователей, которых я придерживаюсь в Twitter, являются друзьями, поэтому я не против видеть их обновления на моей временной шкале :) –