public async Task <SearchTweetsV2Response> SearchTweetsV2( string keyword, IEnumerable <string> hashtags = null, int pageSize = 10, string untilId = null, string operators = "-is:retweet has:images lang:ja" ) { var tags = hashtags is null ? "" : string.Join(" ", hashtags.Select(x => $"#{x}")); var queries = new string[] { keyword, tags, operators } .Where(x => !string.IsNullOrEmpty(x)); var query = string.Join(" ", queries); var param = new SearchTweetsV2Parameters(query) { PageSize = pageSize, UntilId = untilId }; return(await _client.SearchV2.SearchTweetsAsync(param)); }
async public Task SearchAsync() { var client = new TwitterClient( ApiKey, ApiKeySecret, AccessToken, AccessTokenSecret); try { var parameters = new SearchTweetsV2Parameters(SearchWord.Value); var response = await client.SearchV2.SearchTweetsAsync(parameters); Debug.WriteLine(response); var tmpList = new List <TweetData>(); for (int i = 0; i < response.Tweets.Length; i++) { var tweetDatas = response.Includes.Users .Where(x => x.Id == response.Tweets[i].AuthorId) .Select <UserV2, TweetData>(t => { return(new TweetData(t.Name, t.Username, t.ProfileImageUrl, response.Tweets[i].Text)); }); foreach (var item in tweetDatas) { tmpList.Add(item); } } Tweets.Value = tmpList; } catch (TwitterException ex) { Debug.WriteLine(ex.Message); } }
public ITwitterPageIterator <ITwitterResult <SearchTweetsV2Response>, string> GetSearchTweetsV2Iterator(ISearchTweetsV2Parameters parameters, ITwitterRequest request) { Func <string, Task <ITwitterResult <SearchTweetsV2Response> > > getNext = nextToken => { var cursoredParameters = new SearchTweetsV2Parameters(parameters) { NextToken = nextToken }; return(_searchQueryExecutor.SearchTweetsAsync(cursoredParameters, new TwitterRequest(request))); }; var twitterCursorResult = new TwitterPageIterator <ITwitterResult <SearchTweetsV2Response>, string>( parameters.NextToken, getNext, page => { if (page.Model.Tweets.Length == 0) { return(null); } return(page.Model.SearchMetadata.NextToken); }, page => { if (page.Model.Tweets.Length == 0) { return(true); } return(page.Model.SearchMetadata.NextToken == null); }); return(twitterCursorResult); }