C# linqtotwitter在没有视频的情况下获得推文
我试图通过使用linqtotwitter和c#来获取推文,有一项任务是获取最后10条没有视频内容的推文。 首先,我检索了最近10种状态,如下所示:C# linqtotwitter在没有视频的情况下获得推文,c#,linq-to-twitter,C#,Linq To Twitter,我试图通过使用linqtotwitter和c#来获取推文,有一项任务是获取最后10条没有视频内容的推文。 首先,我检索了最近10种状态,如下所示: var srch = Enumerable.SingleOrDefault((from search in twitterContext.Search where search.Type == Sea
var srch = Enumerable.SingleOrDefault((from search in
twitterContext.Search
where search.Type == SearchType.Search &&
search.Query == hashTag &&
search.Count == 10
select search));
其次,我试图排除带有视频内容的推文:
var result = srch.Statuses.ToList()
.Where(item => item.Entities.MediaEntities.
Where(innerItems => innerItems.VideoInfo.Duration == 0)); // shows error
状态
包含实体
集合,其中每个实体
包含媒体实体
集合,其中每个媒体实体
具有视频信息
属性。
但是,要将正确的linq查询组合到像
status
collection这样的复杂结构中有一些困难。我认为您只需要熟悉linq。然而,以下是您可能正在寻找的:
var srch = twitterContext.Search
.FirstOrDefault(search =>
search.Type == SearchType.Search &&
search.Query == hashTag);
var srchWithoutVideo = srch?.Statuses?.Where(status =>
status.Entities.MediaEntities.All(entity => entity.VideoInfo.Duration == 0))
.OrderByDescending(status => status.CreatedAt)
.Take(10);
我在猜测您的预期结果-将计数从搜索中移出。我想你可能希望所有的tweet首先通过hashTag,然后在第二个查询中你可以过滤,按CreatedAt降序,取10