【问题标题】:get all tweets of user with twitter user_timeline api使用 twitter user_timeline api 获取用户的所有推文
【发布时间】:2015-05-15 03:31:10
【问题描述】:

我正在使用 twitter user_timeline api 来获取用户的所有推文。

它在单个请求中返回 200,但问题是如果推文像 400 或 500,我想获取所有推文

下面是我的代码,输出 200 条推文:

require_once('TwitterAPIExchange.php');

$settings = array(
    'oauth_access_token' => "",
    'oauth_access_token_secret' => "",
    'consumer_key' => "",
    'consumer_secret' => ""
);
$requestMethod = 'GET';
$url1="https://api.twitter.com/1.1/statuses/user_timeline.json";

$sc_name = 'DailyRapPics';
$count ='700';

$getfield = '?screen_name='.$sc_name.'&exclude_replies=true&include_rts=true&contributor_details=false';

$twitter = new TwitterAPIExchange($settings);
$tweets  = $twitter->setGetfield($getfield)->buildOauth($url1, $requestMethod)->performRequest();

$tweetarray = json_decode($tweets);
$l = 0;
foreach($tweetarray as $mytweets){
$l++;
}
echo 'total values->>>>>>>>>'.$l;

当我看到推特时,会有像 since_id,max_id 这样的字段

我如何使用它来获取用户的所有推文少于 3200 的推特限制请帮助我

【问题讨论】:

    标签: php twitter-bootstrap twitter


    【解决方案1】:

    使用 twitter API,每页最多只能发布 200 个帖子。您必须添加 &page=x 才能从时间线获取推文(限制为 3200 个帖子)

    API 文档:https://dev.twitter.com/docs/api/1/get/statuses/user_timeline

    $getfield = '?screen_name='.$sc_name.'&exclude_replies=true&include_rts=true&contributor_details=false&page=1';
    

    page=2 用于包含 200 多条推文的下一页:

    $getfield = '?screen_name='.$sc_name.'&exclude_replies=true&include_rts=true&contributor_details=false&page=2';
    

    您还可以使用 for 循环从时间轴中获取所有推文。您只能循环 16 次,因此您可以获得 3200 条推文(最多)。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-12-10
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 2012-12-25
      • 1970-01-01
      • 2014-12-07
      相关资源
      最近更新 更多