Travis
Travis

Reputation: 67

Tweetinvi Get All Tweets from a Screenname

I'm trying to use Tweetinvi to retrieve all the tweets made by a particular screen name.

I've tried GetUserTimeLine (see below) but it shows tweets from all the people I follow instead of just mine.

        IUser user = Tweetinvi.User.GetUserFromScreenName("SCREEN_NAME");

        // Create a parameter for queries with specific parameters
        var timelineParameter = Timeline.CreateUserTimelineRequestParameter(user);
        timelineParameter.ExcludeReplies = true;
        timelineParameter.TrimUser = true;
        timelineParameter.IncludeRTS = false;

        var tweets = Timeline.GetUserTimeline(timelineParameter);

        return tweets;

Thanks, Travis

Upvotes: 1

Views: 6150

Answers (2)

BernieSF
BernieSF

Reputation: 1828

A little late, but maybe useful for others (using the Tweetinvi NuGet 0.9.12.1) :

            Tweetinvi.Core.Interfaces.IUser user2 = Tweetinvi.User.GetUserFromScreenName("StackOverflow");

            var userTimelineParam = new Tweetinvi.Core.Parameters.UserTimelineParameters
            {
                MaximumNumberOfTweetsToRetrieve = 100,
                IncludeRTS=true 
            }; 

            List<Tweetinvi.Core.Interfaces.ITweet> tweets2= new List<Tweetinvi.Core.Interfaces.ITweet>();
            tweets2 = Timeline.GetUserTimeline(user2, userTimelineParam).ToList();

            foreach (Tweetinvi.Core.Interfaces.ITweet prime2 in tweets2)
            {
                Debug.WriteLine(prime2.CreatedAt+" "+prime2.Text+" "+prime2.Id.ToString());
            }

Upvotes: 2

user2465083
user2465083

Reputation: 595

Twitter does not provide such endpoint. Therefore you will need to filter the tweets that have not been created by yourself.

Simply use linq (using System.Linq) to filter down the result after your code:

var tweetsPublishedByMyself = tweets.Where(x => x.Creator.Equals(user)).ToArray();

Upvotes: 1

Related Questions