我正在做以下事情 -
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
复选框。)
然后,我根据自己的帐户对我的应用进行了身份验证,以获得有效的OauthToken
和OauthTokenSecret
,以便twitterCtx
完全有权访问所有推文但是当我将searchTerm更改为 -
"\"from:myTwitterAccount\""
仍然 searchResponse
返回计数为零??
它似乎相当受欢迎或错过,我发现其他帐户看起来可以公开访问,但是在执行上述过程时,他们也会返回零帖子,而有些工作完全正常。我怎样才能做到这一点?
答案 0 :(得分:0)
Search API只能回溯几周,并不是一个全面的搜索引擎。相反,它只根据未记录的Twitter相关性算法显示:
在这种情况下,@ stephenfry是一个经过验证的帐户,这意味着Twitter认为推文是相关的。我确定经过验证的帐户并不是唯一的标准,但可能会说明为什么有些推文出现而其他推文没有出现。
顺便说一句,我认为问题很好,这就是为什么他们需要多次投票,以防止异常值,然后才真正关闭。答案 1 :(得分:0)
对于任何试图解决这个问题的人来说,请改为:
var tweets = await
(
from tweet in twitterCtx.Status
where tweet.Type == StatusType.User &&
tweet.ScreenName == "TheAccountsOnScreenName"
select tweet
)
.ToListAsync();