Twitter-我仅从user_timeline接收20条推文

时间:2018-11-20 13:41:00

标签: node.js twitter

var options = {
method: 'GET',
url: 'https://api.twitter.com/1.1/statuses/user_timeline.json?',
qs: { "screen_name": "Screen_name"} ,
json: true,
headers: {
  "Authorization": "Bearer " + token.access_token
  }
};


request(options, function(error, response, body){
   console.log("length",body.length)
});

我正在尝试获取所有推文,但由于某种原因我只得到20条推文,如果api调用最多可以获取3200条推文。

所以我想知道如何才能获得此帐户的所有推文(目前有700多个) 我看到列出了一个计数,但是由于某种原因,我找不到开始细分的方法。

希望有人能帮助我。

编辑:

在回答pii_kee之后,我得出的结论是,要获得所有推文,这是要做的:

    var firstOptions = {
    method: 'GET',
    url: 'https://api.twitter.com/1.1/statuses/user_timeline.json',
    qs: {"screen_name": "Company", "count": 200},
    json: true,
    headers: {
      "Authorization": "Bearer " + token.access_token
    }
  };
    var array = [];
    var go = true;
    async.whilst(function () {
      return go;
    },function(next){
      request(firstOptions, function (error, response, body) {
        firstOptions.qs.max_id = body[body.length - 1].id;
          array = array.concat(body);
          if(body.length !== 200) {
            go = false;
          }
        next();
      });
    });

1 个答案:

答案 0 :(得分:1)

尝试在qs对象中添加count: 200,以使每个请求获得约200条推文。要获取较旧的推文,您必须正确设置max_id参数,否则它将仅返回最新的推文。看看reference of statuses/user_timeline API endpoint,了解这些参数的详细含义。

此外,尝试使用此方法阅读guide on working with timelines