2015-08-05 14 views
12

Ich versuche, die letzten 200 Tweets mit TweetSharp zu bekommen, aber es gibt 12 aus irgendeinem Grund zurück.Geben Sie die letzten n Tweets mit TweetSharp zurück

var service = new TwitterService(
       _consumerKey, 
       _consumerSecret, 
       tokenClaim, 
       tokenSecret 
       ); 

IAsyncResult result = service.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200} 
IEnumerable<TwitterStatus> tweets = service.EndListTweetsOnUserTimeline(result); 

Irgendwelche Ideen, warum sollte das sein? Dank

aktualisieren

Nach How to fetch maximum 800 tweets from ListTweetOnHomeTimeline() method of TweetSharp?

IAsyncResult result = 
      _twitterService.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200 }); 
     IEnumerable<TwitterStatus> tweets = _twitterService.EndListTweetsOnUserTimeline(result).ToArray(); 

     var tweet2 = _twitterService.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200, MaxId = tweets.Last().Id }); 

     return tweet2; 

tweet2 ist leer.

Antwort

5

TweetSharp ist eine alte Bibliothek und nicht mehr gepflegt. Es ist bekannt, Authentifizierungsprobleme zu haben, aber die große Chance ist, dass Sie aufgrund Twitter-API-Änderungen gegen ein anderes Problem stoßen. Verschwenden Sie nicht Ihre Zeit damit, es zu reparieren.

Ich empfehle Ihnen, die aktuellere Bibliothek Linq2Twitter zu verwenden, die auch unter NuGet verfügbar ist.

Mit LinqToTwitter Ihr Code würde wie folgt aussehen:

static async Task<List<Status>> ListTweetsOnUserTimeline(string screenName) 
{ 
    var auth = new SingleUserAuthorizer 
    { 
     CredentialStore = new SingleUserInMemoryCredentialStore 
     { 
      ConsumerKey = consumerKey, 
      ConsumerSecret = consumerSecret, 
      AccessToken = accessToken, 
      AccessTokenSecret = accessTokenSecret 
     } 
    }; 

    using (var context = new TwitterContext(auth)) 
    { 
     var tweets = await (from tweet in context.Status 
          where tweet.Type == StatusType.User && 
            tweet.Count == 200 && 
            tweet.ScreenName == screenName 
          select tweet) 
          .ToListAsync(); 
     return tweets; 
    } 
} 
+0

*** Linq2Twitter *** aktualisiert wird? – Kiquenet

+0

Noch aktueller als TweetSharp. Spätestes Paket von Linq2Twitter ist von Februar 2016, also ist das akzeptabel. Es scheint auch eine neue Abzweigung von TweetSharp [hier] (https://github.com/Yortw/tweetmoasharp) zu geben, auf die es sich zu untersuchen lohnt. –