2016-11-27 10 views
1

私はツイッターフィードを取得しています。私はtweetinvi Apiを使用しています。私のコードは最新の200個のフィードしか取得しません。twitterのつぶやきを取得できません

私のコードは)この動作はGetUserTimeline(のためのTwitterのREST APIのdocumentaionごとに、設計によるものです 公開機能getTweets()

''Set the credentials 
    Dim lObjConsumerKey As String = "[REDACTED]" 
    Dim lObjConsumerSecret As String = "[REDACTED]" 
    Dim lObjUserAccessToken As String = "[REDACTED]" 
    Dim lObjUserAccessSecret As String = "[REDACTED]" 
    Auth.SetUserCredentials(lObjConsumerKey, lObjConsumerSecret, lObjUserAccessToken, lObjUserAccessSecret) 
    Dim lObjDataTable As New DataTable 

    lObjDataTable.Columns.Add("Tweets") 
    lObjDataTable.Columns.Add("CreatedAt") 

    Dim GetTimelineTweets = Timeline.GetUserTimeline(txtUserName.Text) 
    For Each lobjGetgetTweets In GetTimelineTweets 

     Dim drNew = lObjDataTable.NewRow 

     drNew("Tweets") = lobjGetgetTweets 
     drNew("CreatedAt") = lobjGetgetTweets.CreatedAt 
     lObjDataTable.Rows.Add(drNew) 

    Next 

    Return lObjDataTable 

End Function 

答えて

1

です。カウントパラメータの定義で...

試して取得するツイートの数を指定します。個別要求ごとに最大で の200個まで指定できます。

すべてのツイートを取得するには、Twitter開発者サイトのWorking With Timelinesをチェックしてください。

0

私はドキュメントにあなたのためのサンプルを作成しました:https://github.com/linvi/tweetinvi/wiki/Get-All-User-Tweets

RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait; 

RateLimit.QueryAwaitingForRateLimit += (sender, args) => 
{ 
    Console.WriteLine($"Query : {args.Query} is awaiting for rate limits!"); 
}; 

long userId = <YOUR_USER_ID>; 
var lastTweets = Timeline.GetUserTimeline(userId, 200).ToArray(); 

var allTweets = new List<ITweet>(lastTweets); 
var beforeLast = allTweets; 

while (lastTweets.Length > 0 && allTweets.Count <= 3200) 
{ 
    var idOfOldestTweet = lastTweets.Select(x => x.Id).Min(); 
    Console.WriteLine($"Oldest Tweet Id = {idOfOldestTweet}"); 

    var numberOfTweetsToRetrieve = allTweets.Count > 3000 ? 3200 - allTweets.Count: 200; 
    var timelineRequestParameters = new UserTimelineParameters 
    { 
     // MaxId ensures that we only get tweets that have been posted 
     // BEFORE the oldest tweet we received 
     MaxId = idOfOldestTweet - 1, 
     MaximumNumberOfTweetsToRetrieve = numberOfTweetsToRetrieve 
    }; 

    lastTweets = Timeline.GetUserTimeline(userId, timelineRequestParameters).ToArray(); 
    allTweets.AddRange(lastTweets); 
} 

// `allTweets` now contains all the tweets that Twitter can return 
関連する問題