这是我在SO女巫中的第一个问题,我使用了很多btw :)。这是问题/挑战:
我正在构建一项服务,用户可以选择他的一些Facebook和Twitter朋友,然后他会获得推文和状态的组合列表。 Facebook使用批处理请求没有问题非常有用且易于实现。我试图从推特获得相同的结果,但这看起来似乎更难。
我有一个我所有朋友的名单(name和user_id),我想选择一些朋友并检索他们的推文。我使用linqToTwitter,也欢迎直接的HTTP请求:)。
这就是我的尝试:
var tweetsResult =
(from search in twitterCtx.Search
where search.Type == SearchType.Search &&
search.Query == "from:cinek24 OR from:blaba"
select search).Single();
这适用于像cnn这样的公共用户,但不适用于私人朋友,是的,我有有效的令牌。
答案 0 :(得分:3)
以下是用户在LINQ to Twitter中查找用户的方式:
var users =
(from user in twitterCtx.User
where user.Type == UserType.Lookup &&
user.ScreenName == "cinek24,blaba"
select user)
.ToList();
users.ForEach(user => Console.WriteLine("Name: " + user.Name));
更多信息:
一旦有了用户,那么你将不得不查询每个用户的推文,因为用户查询只会返回他们的最后一条推文,如下所示:
var statusTweets =
from tweet in twitterCtx.Status
where tweet.Type == StatusType.User
&& tweet.ScreenName == "cinek24"
&& tweet.Count == 40
select tweet;
tweets.ToList().ForEach(
tweet => Console.WriteLine(
"Name: {0}, Tweet: {1}\n",
tweet.User.Name, tweet.Text));
此处有关该查询的更多信息:
乔
答案 1 :(得分:1)
这是您需要的API调用 - users/lookup
https://api.twitter.com/1/users/lookup.json?screen_name=twitterapi,twitter,edent,MQoder&include_entities=true
这将返回所有这些screen_names的最新推文。如果您愿意,也可以使用user_ids。