1

这是我在我经常使用的 SO 女巫中的第一个问题 :)。这是问题/挑战:

我正在构建一个服务,用户可以在其中选择一些他的 facebook 和 twitter 朋友,然后他将获得推文和这些状态的组合列表。Facebook 使用批处理请求没有问题,非常有用且易于实现。我试图从 twitter 获得相同的结果,但这似乎比看起来更难。

我有一个我所有朋友的列表(姓名和用户 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 这样的公共用户,但不适用于私人朋友,是的,我有有效的令牌。

4

2 回答 2

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));

更多信息在这里:

http://linqtotwitter.codeplex.com/wikipage?title=Querying%20User%20Details&referringTitle=Getting%20User%20Information

拥有用户后,您将不得不查询他们每个人的推文,因为用户查找只会返回他们的最后一条推文,如下所示:

        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));

有关该查询的更多信息在这里:

http://linqtotwitter.codeplex.com/wikipage?title=Querying%20the%20User%20Timeline&referringTitle=Making%20Status%20Queries%20and%20Calls

于 2012-06-27T04:31:10.833 回答
2

这是您需要的 API 调用 - users/lookup

https://api.twitter.com/1/users/lookup.json?screen_name=twitterapi,twitter,edent,MQoder&include_entities=true

这将返回所有这些 screen_names 的最新推文。如果您愿意,也可以使用 user_ids。

于 2012-06-21T11:39:31.090 回答