& # 39;从:& # 39;使用linqtotwitter进行搜索

本文关键字:搜索 使用 linqtotwitter | 更新日期: 2023-09-27 18:14:48

我正在做以下事情-

TwitterContext twitterCtx = new TwitterContext(auth);
string searchTerm = "'"from:stephenfry'"";
List<Status> searchResponse =
    (from search in twitterCtx.Search
     where search.Type == SearchType.Search &&
           search.Query == searchTerm &&
           search.Count == 10 &&
           search.SinceID == 0 
     select search.Statuses)
    .SingleOrDefault();

这工作很好,从@stephenfry帐户带回10条推文。然而,我正试图从我自己的帐户中获得推文,该帐户具有可公开访问的推文(我确保Protect my Tweets复选框在设置/安全中未选中)。

因此,我然后对我自己的帐户验证了我的应用程序,以获得有效的OauthTokenOauthTokenSecret,以便twitterCtx完全授权从我的帐户访问所有推文,但是当我将searchTerm更改为-

"'"from:myTwitterAccount'""

仍然 searchResponse返回零计数??

这似乎是相当命中或错过,以及我发现其他帐户,看起来是公开访问,但在做上述过程中,他们也返回零职位,而有些工作完全好。我怎样才能做到这一点呢?

& # 39;从:& # 39;使用linqtotwitter进行搜索

搜索API仅在几个星期前推出,并不是一个全面的搜索引擎。更确切地说,它只根据未记录的Twitter相关算法显示:

Twitter搜索API

在本例中,@stephenfry是一个经过验证的帐户,这意味着Twitter认为tweet是相关的。我相信有效的账户不是唯一的标准,但可能会解释为什么有些推文会出现,而有些则不会。

顺便说一句,我认为这个问题很好,这就是为什么他们需要多次投票,以防止异常值,在真正关闭之前。

对于其他试图弄清楚这一点的人,请这样做:

var tweets = await
(
    from tweet in twitterCtx.Status
    where   tweet.Type == StatusType.User &&
            tweet.ScreenName == "TheAccountsOnScreenName"
    select tweet
)
.ToListAsync();