【问题标题】:Return recent n number of tweets using TweetSharp使用 TweetSharp 返回最近的 n 条推文
【发布时间】: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 为空。

【问题讨论】:

    标签: c# twitter twitter-oauth tweetsharp


    【解决方案1】:

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

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

    使用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 分支可能值得研究。
    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多