使用 linqtotwitter 进行 'from:' 搜索

Do 'from:' search using linqtotwitter

我正在做以下事情 -

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 条推文。但是,我正在尝试从我自己的帐户获取推文,该帐户具有可公开访问的推文(我确保未选中 settings/security 中的 Protect my Tweets 复选框)。

因此,我随后根据自己的帐户对我的应用程序进行了身份验证,以获得有效的 OauthTokenOauthTokenSecret,以便 twitterCtx 完全有权访问 all 来自我帐户的推文但是当我将 searchTerm 更改为 -

"\"from:myTwitterAccount\""

仍然 searchResponse 返回计数为零??

它似乎很受欢迎或失败,因为我发现其他帐户看起来可以公开访问,但是在执行上述过程时,它们也会 return 零帖子,而有些则工作得很好。我怎样才能做到这一点?

The Search API 只能追溯到几个星期前,并不是一个全面的搜索引擎。相反,它仅根据未记录的 Twitter 相关性算法显示:

Twitter Search API

在这种情况下,@stephenfry 是经过验证的帐户,这意味着 Twitter 认为推文是相关的。我确信经过验证的帐户不是唯一的标准,但可能会阐明为什么某些推文出现而其他推文不出现的原因。

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

对于其他试图解决这个问题的人,请改为这样做:

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