【问题标题】:Getting Results from Search entity for twitter search从搜索实体获取结果以进行 twitter 搜索
【发布时间】:2012-11-17 09:03:11
【问题描述】:

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

案例一:

        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)

.Result 只是没有出现... 编辑:API doc

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    @JoeMayo

    【讨论】:

    • 直接从twitter搜索,结果默认是relevancy排序的,linqtotwitter也能返回relevancy排序的结果吗?否则,linqtotwitter 和 twitter 的结果总是不同的。
    • @liang 我不知道他们如何确定相关性。有一个 ResultType 参数可以设置为“mixed”、“recent”或“popular”——默认为“mixed”。是这个意思吗?
    猜你喜欢
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2013-01-30
    • 2012-08-05
    • 2013-05-05
    相关资源
    最近更新 更多