public ITwitterIterator <ITweet, long?> GetUserTimelineIterator(IGetUserTimelineParameters parameters) { var pageIterator = _timelinesRequester.GetUserTimelineIterator(parameters); return(new TwitterIteratorProxy <ITwitterResult <ITweetDTO[]>, ITweet, long?>(pageIterator, twitterResult => _client.Factories.CreateTweets(twitterResult?.DataTransferObject))); }
public Task <ITwitterResult <ITweetDTO[]> > GetUserTimelineAsync(IGetUserTimelineParameters parameters, ITwitterRequest request) { var query = _timelineQueryGenerator.GetUserTimelineQuery(parameters, request.ExecutionContext.TweetMode); request.Query.Url = query; request.Query.HttpMethod = HttpMethod.GET; return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request)); }
public void Validate(IGetUserTimelineParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.User, $"{nameof(parameters)}.{nameof(parameters.User)}"); }
public void Validate(IGetUserTimelineParameters parameters) { _timelineClientRequiredParametersValidator.Validate(parameters); var maxPageSize = Limits.TIMELINE_USER_PAGE_MAX_PAGE_SIZE; if (parameters.PageSize > maxPageSize) { throw new TwitterArgumentLimitException($"{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.TIMELINE_USER_PAGE_MAX_PAGE_SIZE), "page size"); } }
public GetUserTimelineParameters(IGetUserTimelineParameters source) : base(source) { if (source == null) { PageSize = TwitterLimits.DEFAULTS.TIMELINE_USER_PAGE_MAX_PAGE_SIZE; return; } PageSize = source.PageSize; User = source.User; IncludeRetweets = source.IncludeRetweets; IncludeContributorDetails = source.ExcludeReplies; ExcludeReplies = source.ExcludeReplies; }
// User Timeline public string GetUserTimelineQuery(IGetUserTimelineParameters parameters, TweetMode?requestTweetMode) { var query = new StringBuilder(Resources.Timeline_GetUserTimeline); query.AddFormattedParameterToQuery(_userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.User)); _queryParameterGenerator.AddTimelineParameters(query, parameters, requestTweetMode); query.AddParameterToQuery("exclude_replies", parameters.ExcludeReplies); query.AddParameterToQuery("include_rts", parameters.IncludeRetweets); query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters); return(query.ToString()); }
public void Validate(IGetUserTimelineParameters parameters) { _timelineClientParametersValidator.Validate(parameters); }
public async Task <ITweet[]> GetUserTimeline(IGetUserTimelineParameters parameters) { var iterator = GetUserTimelineIterator(parameters); return((await iterator.NextPage().ConfigureAwait(false)).ToArray()); }
public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetUserTimelineIterator(IGetUserTimelineParameters parameters, ITwitterRequest request) { return(_pageCursorIteratorFactories.Create(parameters, cursor => { var cursoredParameters = new GetUserTimelineParameters(parameters) { MaxId = cursor }; return _timelineQueryExecutor.GetUserTimeline(cursoredParameters, new TwitterRequest(request)); })); }
public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetUserTimelineIterator(IGetUserTimelineParameters parameters) { _validator.Validate(parameters); var request = TwitterClient.CreateRequest(); return(_timelineController.GetUserTimelineIterator(parameters, request)); }