我如何使用PHP,Twitter API来获得更多或所有的追随者


How do I use PHP, Twitter API to get more or all of my followers?

我有一个twitter api php脚本成功地吐出了我的最后100个追随者

$flwrs_url = "http://api.twitter.com/1/statuses/followers/exampleuser.json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $flwrs_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlout = curl_exec($ch);
curl_close($ch);
$response = json_decode($curlout, true);
foreach($response as $friends){
    $id = $friends['id'];   
$screen_name = $friends['screen_name'];
....

(我用的是exampleuser而不是我自己的账户)我如何将其扩展到包括我的更多或所有追随者?

感谢

根据GET followers/ids的Twitter API文档,请求应返回多达5000名追随者。

但是,如果API没有返回所有的追随者,那么响应中应该有一个next_cursor元素,可以用来检索下一批追随者。您只需要将next_cursor的值作为cursor附加到请求中(另请参阅API文档)。

请注意,您使用的是Twitter API版本1,该版本最近已被弃用。也就是说,它可能会在明年年初停止工作。您应该尽快升级到1.1版。现在有了新的指导方针,其中之一是所有请求都必须使用oAuth进行身份验证。

感谢您的回答Florian。顺便说一句,我想我找到了做我想做的事情的正确方法。如果我错了,请纠正我。

使用后:

 $code=$tmhOAuth->request('GET', $tmhOAuth->url('1/followers/ids'),
            array('screen_name' => $user, 'cursor' => $cursor));

获取所有5000名追随者(用户id)的技术。我使用以下代码一次抓取100个批次(用户详细信息):

$status_url = "http://api.twitter.com/1/users/lookup.json?user_id=";
$lastNum=$last; // $lastNum=100;
$i=$first;     // $i=0;
while($i<$lastNum){
    if ($i==($lastNum-1)){
        $status_url = $status_url . "$followers[$i]";
    }else{  
        $status_url = $status_url . "$followers[$i],";
    }
    $i++;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $status_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlout = curl_exec($ch);
curl_close($ch);
$response = json_decode($curlout, true);
$i = 0;
foreach($response as $friends){
    $id = $friends['id'];
    $screen_name = $friends['screen_name'];
    $name = $friends['name'];
    $thumb = $friends['profile_image_url'];
    $url = $friends['screen_name'];
    $location = $friends['location'];
    $description = $friends['description'];
    echo "$i) $id $screen_name $name $location $description<br />";
    $i++;
}

我意识到我需要在每一批"100个"之间加上"睡眠",但我不太确定该用多少。