使用 TweetSharp 返回最近的 n 条推文

Posted

技术标签:

【中文标题】使用 TweetSharp 返回最近的 n 条推文【英文标题】:Return recent n number of tweets using TweetSharp 【发布时间】:2015-10-28 09:43:06 【问题描述】:

我正在尝试使用 TweetSharp 获取最近的 200 条推文,但由于某种原因它返回了 12 条。

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

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

任何想法为什么会这样?谢谢

更新

关注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 为空。

【问题讨论】:

【参考方案1】:

TweetSharp 是一个旧库,不再维护。众所周知,存在身份验证问题,但很有可能由于 Twitter API 更改,您遇到了其他问题。只是不要浪费时间尝试修复它。

我建议您使用更新的库Linq2Twitter,NuGet 上也提供该库。

使用LinqToTwitter,您的代码将如下所示:

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;
    

【讨论】:

仍然比 TweetSharp 更新。 Linq2Twitter 的最新 nuget 包来自 2016 年 2 月,所以这是可以接受的。似乎还有一个新的 TweetSharp here 分支可能值得研究。

以上是关于使用 TweetSharp 返回最近的 n 条推文的主要内容,如果未能解决你的问题,请参考以下文章

twitter4j.Status 是不是在每条推文上返回地理位置

tweetsharp / SendTweetOptions - 使用位置参数

r 使用推文活动数据中最好的9条推文创建一个拼贴画

为啥每条推文都被删除

将几条推文放入数据框中

设置 Twitter API,获取最后几条推文