Как получить твиты от нескольких друзей?

Это мой первый вопрос в SO ведьма, я использую много кстати:). это проблема / проблема:

Я создаю сервис, в котором пользователь может выбрать количество своих друзей в 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, но не с частными друзьями, и да, у меня есть действительные токены.

2 ответа

Решение

Вот как вы могли бы искать пользователей в 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

Джо

Это вызов API, который вам нужен - users / lookup

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

Это вернет самый последний твит из всех этих экранных имен. Вы также можете использовать user_ids, если хотите.

Другие вопросы по тегам