使用LinqToTwitter排除转推

时间:2014-02-08 10:22:48

标签: twitter linq-to-twitter

我的LinqToTwitter课程不能排除转推。

var srch = (from search in twitterCtx.Search where search.Type == SearchType.Search && search.Query == term && search.Count == 100 select search).SingleOrDefault();

search.IncludeRetweets==false没有选项。

我该如何进行搜索呢?我应该尝试另一堂课吗?

2 个答案:

答案 0 :(得分:6)

Twitter API不提供该选项,因此LINQ也不提供Twitter。也就是说,这就是你能做的:

  1. 正常执行搜索查询。它将包含转推。
  2. 使用where子句对结果执行LINQ to Objects查询,该子句设置RetweetedStatus.StatusID == 0的条件,如下所示:

    var nonRetweetedStatuses =
        (from tweet in searchResponse.Statuses
         where tweet.RetweetedStatus.StatusID == 0
         select tweet)
        .ToList();
    
  3. 我建议使用这样的where子句的原因是因为LINQ to Twitter实例化了RetweetedStatus的状态,无论它是否存在。但是,该Status的内容是每个属性类型的默认值。由于有效转发的StatusID永远不会为0,因此可行。你也可以过滤另一个字段,如Text == null,它仍然可以工作。

答案 1 :(得分:1)

只需添加到您的搜索字词 private void createUIComponents() { if (btnPreviewClicked == true) { JScrollPanePreview.setViewportView(showXMLFileView.createLabelPane()); } else { JScrollPanePreview = new JScrollPane(); } } 和/或exclude:replies

exclude:retweets