C# 如何使用C获取指定用户的所有tweet#

C# 如何使用C获取指定用户的所有tweet#,c#,twitter,console-application,tweetsharp,C#,Twitter,Console Application,Tweetsharp,我用C#编写了以下代码,用于获取指定用户的tweet。我面临的问题是,对于一个拥有7000条推文的人来说,它只会返回15-20条推文。在某些情况下,也会出现以下错误: An unhandled exception of type 'System.OverflowException' occurred in Newtonsoft.Json.dll Additional information: Arithmetic operation resulted in an overflow. 我的代码

我用C#编写了以下代码,用于获取指定用户的tweet。我面临的问题是,对于一个拥有7000条推文的人来说,它只会返回15-20条推文。在某些情况下,也会出现以下错误:

An unhandled exception of type 'System.OverflowException' occurred in Newtonsoft.Json.dll

Additional information: Arithmetic operation resulted in an overflow.
我的代码:

        var service = new TwitterService(consumerKey, consumerSecret);
        service.AuthenticateWith(accessToken, accessTokenSecret);

        var options = new SearchOptions { Q = "abcd" };
        var tweets = service.Search(options);
        var count = 0;
        foreach (var tweet in tweets.Statuses)
            count++;

        Console.WriteLine(count);
var tweets=service.Search(选项)中出现错误

我正在使用TweetSharp库

我是的开发者。我只是想让你知道,做你从Twitter用户那里得到的所有推文是很容易的

您需要了解的是,一个查询最多只能从RESTAPI获得200条推文

因此,您需要按如下所示迭代结果列表

    private static ITweet[] GetUserTimelineTweets(string userName, int maxNumberOfTweets)
    {
        var tweets = new List<ITweet>();

        var receivedTweets = Timeline.GetUserTimeline(userName, 200).ToArray();
        tweets.AddRange(receivedTweets);

        while (tweets.Count < maxNumberOfTweets && receivedTweets.Length == 200)
        {
            var oldestTweet = tweets.Min(x => x.Id);
            var userTimelineParameter = Timeline.CreateUserTimelineRequestParameter(userName);
            userTimelineParameter.MaxId = oldestTweet;
            userTimelineParameter.MaximumNumberOfTweetsToRetrieve = 200;

            receivedTweets = Timeline.GetUserTimeline(userTimelineParameter).ToArray();
            tweets.AddRange(receivedTweets);
        }

        return tweets.Distinct().ToArray();
    }
private static ITweet[]getUserTimeLineWeets(字符串用户名,int-maxNumberOfTweets)
{
var tweets=新列表();
var receivedTweets=Timeline.GetUserTimeline(用户名,200).ToArray();
tweets.AddRange(receivedTweets);
while(tweets.Countx.Id);
var userTimelineParameter=Timeline.CreateUserTimelineRequestParameter(用户名);
userTimelineParameter.MaxId=oldestTweet;
userTimelineParameter.MaximumNumberOfTweetStoreTrive=200;
receivedTweets=Timeline.GetUserTimeline(userTimelineParameter.ToArray();
tweets.AddRange(receivedTweets);
}
返回tweets.Distinct().ToArray();
}
干杯,
林薇

真的吗?a为每个进行集合计数。你刚刚让我的早晨:)。如果有一个搜索选项来限制返回的金额,尝试设置为10,然后增加。错误表明您达到了某种限制。我最初打印推文…因此是foreach…但之后为了进行一些调试,我使用了计数…没有设置搜索限制的选项。您好,很抱歉回复太晚…此库是否可用/与windows phone 8.1兼容?另外,如果一个用户有大约500条推文,那么执行查询三次是否可以获得推文?Tweetinvi与Windows Phone 8和8.1兼容,是的,查询将执行三次。