Beispiel #1
0
        public ExtractedTweet[] GetTimeline(string username, int nberTweets, long fromTweetId = -1)
        {
            TweetinviConfig.CurrentThreadSettings.TweetMode = TweetMode.Extended;

            var user = _twitterUserService.GetUser(username);

            if (user.Protected)
            {
                return(new ExtractedTweet[0]);
            }

            var tweets = new List <ITweet>();

            try
            {
                if (fromTweetId == -1)
                {
                    var timeline = Timeline.GetUserTimeline(user.Id, nberTweets);
                    _statisticsHandler.CalledTimelineApi();
                    if (timeline != null)
                    {
                        tweets.AddRange(timeline);
                    }
                }
                else
                {
                    var timelineRequestParameters = new UserTimelineParameters
                    {
                        SinceId = fromTweetId,
                        MaximumNumberOfTweetsToRetrieve = nberTweets
                    };
                    var timeline = Timeline.GetUserTimeline(user.Id, timelineRequestParameters);
                    _statisticsHandler.CalledTimelineApi();
                    if (timeline != null)
                    {
                        tweets.AddRange(timeline);
                    }
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error retrieving timeline from {Username}, from {TweetId}", username, fromTweetId);
            }

            return(tweets.Select(_tweetExtractor.Extract).ToArray());
        }
Beispiel #2
0
        public ExtractedTweet[] GetTimeline(string username, int nberTweets, long fromTweetId = -1)
        {
            var tweets = new List <ITweet>();

            _twitterAuthenticationInitializer.EnsureAuthenticationIsInitialized();
            ExceptionHandler.SwallowWebExceptions           = false;
            TweetinviConfig.CurrentThreadSettings.TweetMode = TweetMode.Extended;

            var user = _twitterUserService.GetUser(username);

            if (user == null || user.Protected)
            {
                return(new ExtractedTweet[0]);
            }

            if (fromTweetId == -1)
            {
                var timeline = Timeline.GetUserTimeline(user.Id, nberTweets);
                _statisticsHandler.CalledTimelineApi();
                if (timeline != null)
                {
                    tweets.AddRange(timeline);
                }
            }
            else
            {
                var timelineRequestParameters = new UserTimelineParameters
                {
                    SinceId = fromTweetId,
                    MaximumNumberOfTweetsToRetrieve = nberTweets
                };
                var timeline = Timeline.GetUserTimeline(user.Id, timelineRequestParameters);
                _statisticsHandler.CalledTimelineApi();
                if (timeline != null)
                {
                    tweets.AddRange(timeline);
                }
            }

            return(tweets.Select(_tweetExtractor.Extract).ToArray());
        }