c# - 从 Twitter 搜索的搜索实体获取结果

标签 c# asp.net-mvc linq-to-twitter

我正在使用 linq-to-twitter,我想传递一个标签来搜索和收集数据(文本、用户名、用户图片)。我可以返回一个搜索实体,但我想进一步查找文本,在文档中它说搜索实体有一个结果字段,它是 SearchEntities 的列表,但它没有出现在我身上。对于以下两种情况,我在它下面都看到了红线:

案例1:

        using (var twitterCtx = new TwitterContext())
                    {
                      var searchResults =
                         (from search in twitterCtx.Search
                         where search.Type == SearchType.Search &&
                             search.Query == tag &&
                             search.IncludeEntities == true
                         select search)
                        .SingleOrDefault();

                        searchResults.Results.ForEach(entry =>
                        {
                            ....

和案例 2:(我只是将其嵌入作为一个简单的示例)

var latestTweets= (from tweet in twitterCtx.Search
               where tweet.Count == 200 &&
                     tweet.Hashtag.Contains(tag)
               select tweet).Take(20);


              foreach (var tweet in latestTweets)
              {
                  foreach(var tweet2 in tweet.Result)

.结果没有显示... 编辑:API doc

最佳答案

这里发生了一些事情。首先,LINQ to Twitter 现在实现 Twitter API v1.1,这意味着所有查询(包括搜索)都必须经过身份验证。我这里有关于如何将 OAuth 与 LINQ to Twitter 结合使用的文档,地址为 Securing Your Applications 。可下载的源代码和 Sample页面也有示例。

接下来偶尔会发生的事情是 Twitter 可能不会返回您的查询的数据。他们的搜索引擎针对某些类型的查询进行了优化,并且不保证搜索引擎的质量响应。您可以通过访问他们的Search来检查这一点页面并输入与您尝试通过 LINQ to Twitter 使用的查询相同的数据。他们有一个链接 Advanced Search也是。

如果您认为 LINQ to Twitter 可能有问题,请使用 Fiddler 捕获 HTTP 流量并向我显示请求和响应。注意:请务必清理凭据,以免它们出现在公共(public)场合。

另一件事是,使用 Contains 运算符的第二个查询将不起作用。 LINQ to Twitter 仅在筛选器中使用相等运算符,这些运算符将成为发送到 Twitter 的参数。如果您想要更复杂的查询,请首先从 Twitter 获取数据,然后执行 LINQ to Objects 查询。理由是 Twitter API 无法识别特殊运算符,并且引入这种人为因素不会让您知道网络上真正发生的情况,从而影响应用程序的性能。

@JoeMayo

关于c# - 从 Twitter 搜索的搜索实体获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419058/

相关文章:

c# - 从我的时间轴返回所有推文

twitter - 获取给定用户在 LinqToTwitter 中关注的用户(不是关注者)

c# - C#中的内存布局优化

c# - 删除.net mvc中的路由元素

C# 相当于 Python 的 itertools.chain

c# - SignalR 行为 : preventing long polling

c# - azure ad graph api不提取用户信息

c# - 尝试使用 Linq to Twitter 发推文时出现 401

c# - Entity Framework Code First Web.API 中的一对多关系

c# - DLLImport(C 代码) C# 试图读取或写入 protected 内存。这通常表明其他内存已损坏”