如何存储Twitter搜索API推文并转发它们

时间:2016-04-07 03:29:03

标签: javascript twitter

我正在尝试使用twitter API post方法发布使用get / search方法找到的推文。但是,当我将搜索结果存储到下面的变量“st”时,它不起作用并始终产生错误。

var st = "test" //This is where I want to store the tweet found by calling search. 

var params = {

q: 'hillary_clinton',
count: 1,
type: 'recent',
geocode: " 38.913376,-95.3352939, 3mi"
exclude_replies: true,
retweeted: false,

};

 T.get('search/tweets', params, gotData);

 function gotData(err, data, response) {
   var tweets = data.statuses;
   st = tweets[0].text // store the first search result in 'st'



 }

var tweet = {

  status: st

}

T.post('statuses/update', tweet, tweeted);

function tweeted(err, data, response) {
 if (err) {
  console.log("It did not work")
  console.log(data)
  } else {
console.log("it worked")
}

}

但是,当我运行程序时,总是会出现错误(因为它不会让我发推文重复的推文) - 这意味着“st”没有像我想要的那样正确地重新分配。我哪里错了?

1 个答案:

答案 0 :(得分:0)

当您搜索推文时,您要求返回前5个结果,因此您始终会获得这5个结果并继续将st设置为该推文数组中的第一条推文。

你可以做几件事。

将整个数组存储为st,然后遍历它以获取其他推文。

在下一次搜索中使用一些api参数,例如'since_id'

  

返回ID大于(即更新)指定ID的结果。可以通过API访问的推文数量有限制。如果自since_id以来发生了推文限制,则since_id将被强制使用最旧的ID。

查看API的一些其他参数,

Twitter Search Docs

*当然,你可以等待希拉里发布新的推文,不应该等待太长时间......