【问题标题】:Why is Twitter REST API always getting the same tweets?为什么 Twitter REST API 总是收到相同的推文?
【发布时间】:2015-09-01 09:39:31
【问题描述】:

我正在使用带有 Twitter REST API 的 MeteorJS。我正在尝试做的是检索一堆带有特定哈希标签的推文。我能够检索推文,但我的问题是为什么我一直检索相同的推文?

我正在搜索的主题标签比较流行,所以我希望每次重新启动 MeteorJS 时都会有一堆随机推文。不知道为什么会发生这种情况,但我的猜测是,由于我请求具有相同身份验证信息的相同主题标签,因此 Twitter 只是检索一组特定的推文,而不是每次我检索具有特定主题标签的不同推文重启流星。

不确定这是否正是正在发生的事情,但这是我有根据的猜测。如果这是正在发生的事情,有什么办法可以让我每次都检索带有特定哈希标签的随机推文?

这是我的代码。忘了这会有帮助。

if (Meteor.isServer) {
   Meteor.startup(function () {
    if (Tweets.find().count()==0) {
     var Twit = Meteor.npmRequire('twit');

     var T = new Twit({
      consumer_key:         '', // API key
      consumer_secret:      '', // API secret
      access_token:         '', 
      access_token_secret:  ''
    });

     var Tget = Meteor.wrapAsync(T.get,T);
     var result = Tget('search/tweets', {q:'#UCLA',count:10});

     for (var i = 0; i < 10; i++) {
       var temp = [
 {'title':result.statuses[i].user.name,'handle':result.statuses[i].user.screen_name,'picture':result.statuses[i].user.profile_image_url,'tweet':result.statuses[i].text}];
    Tweets.insert(temp[0]);
    }

  }
 });
}

Tweets 是我在客户端和服务器代码之外制作的集合:

Tweets = new Mongo.Collection("tweets");

【问题讨论】:

  • 向我们展示您的代码可能会有所帮助。

标签: rest twitter meteor


【解决方案1】:

第一次运行你的推文收藏是空的

if (Tweets.find().count()==0) {

然后你插入你的帖子/推文并且不会再进入它......正如@FullStack所说:你的MongoDB仍然存在。 ;-)

【讨论】:

  • 我尝试通过执行流星重置手动清除数据库,即使在那之后,我总是收到相同的推文。知道为什么吗?
  • 问题不是空集合或填充集合。在上面的代码中,只有当集合为空时才需要 twit,您需要修复此问题。
【解决方案2】:

您的 MongoDB 应该保持不变,因此您必须在

之外执行 Tweets.remove({})
if (Tweets.find().count()==0) {

阻止或删除条件。

另外,考虑使用upsert,这样就不必每次都清空整个数据库。 (ref)

【讨论】:

  • 在 if 块之外不起作用,因为它仍然是 Meteor.startup 块的一部分。同时,它甚至不能手动工作。我尝试通过执行流星重置手动清除数据库,即使在那之后,我总是得到相同的推文。知道为什么吗?
  • @halapgos1 也许您指的是 Twitter API,每次搜索都会为您提供相同的结果?也许console.log 可以检查其中的一些内容
【解决方案3】:

只是把它扔在那里。也许您得到相同的结果是因为您进行了相同的搜索。

您每次都将结果保存到数据库中,对吗?您确定要排除以前的结果吗?

您应该能够添加一个参数来告诉搜索返回仅在特定时间之后发生的推文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2015-06-22
    • 2011-02-19
    • 2017-11-05
    相关资源
    最近更新 更多