Tweetinvi从屏幕名称获取所有推文

时间:2014-11-03 10:59:19

标签: c# twitter tweetinvi

我试图使用Tweetinvi来检索特定网名的所有推文。

我已经尝试了GetUserTimeLine(见下文),但它显示了我关注的所有人的推文而不是我的推文。

        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;

谢谢, 特拉维斯

2 个答案:

答案 0 :(得分:2)

有点晚,但对其他人有用(使用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());
            }

答案 1 :(得分:1)

Twitter不提供此类端点。因此,您需要过滤自己尚未创建的推文。

只需使用linq(使用System.Linq)过滤代码后的结果:

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