C# 使用TweetSharp API获取推文时出错

C# 使用TweetSharp API获取推文时出错,c#,twitter,tweetsharp,C#,Twitter,Tweetsharp,我正在尝试使用TweetSharp API从特定的标签获取所有推文。我正在为此使用以下代码 public ActionResult AddTwitterDataTop(TwitterData objTwitterData) { try { var service = new TwitterService(ConsumerKey, ConsumerSecret); service.AuthenticateWith(AccessToken, Acces

我正在尝试使用TweetSharp API从特定的标签获取所有推文。我正在为此使用以下代码

public ActionResult AddTwitterDataTop(TwitterData objTwitterData)
{
    try
    {
        var service = new TwitterService(ConsumerKey, ConsumerSecret);
        service.AuthenticateWith(AccessToken, AccessTokenSecret);
        var tweets = service.Search(new SearchOptions { Q = "#MisuseOfRapeLaw", Count = 100, Resulttype = TwitterSearchResultType.Recent });
        IEnumerable<TwitterStatus> status = tweets.Statuses;
        foreach (var item in status)
        {
            var qry = (from s in ObjEdbContext.ObjTwitterDatas where s.Text == item.Text && s.ScreenName == item.User.ScreenName select s).FirstOrDefault();
            if (qry != null) continue;
            objTwitterData.ScreenName = item.User.ScreenName;
            objTwitterData.UserName = item.User.Name;
            objTwitterData.Text = item.Text;
            objTwitterData.RetweetCount = item.RetweetCount;
            objTwitterData.FavouritesCount = item.User.FavouritesCount;
            objTwitterData.ProfileImageUrl = item.User.ProfileImageUrl;
            objTwitterData.TimeStam = item.CreatedDate;
            objTwitterData.RetweetUrlId = "https://twitter.com/intent/retweet?tweet_id=" + item.Id;
            objTwitterData.ReplyaUrlId = "https://twitter.com/intent/tweet?in_reply_to=" + item.Id;
            objTwitterData.FavoriteUrlId = "https://twitter.com/intent/favorite?tweet_id=" + item.Id;
            objTwitterData.IsValid = "Pending";
            ObjEdbContext.ObjTwitterDatas.Add(objTwitterData);
            ObjEdbContext.SaveChanges();
            ModelState.Clear();
        }
    }
    catch (Exception e)
    {
        ViewBag.ErrorMessage = "Some exception occured" + e;
        return RedirectToAction("Index");
    }
    return RedirectToAction("Index");
}
有时它工作正常,有时在这一行之后会出现以下异常

var tweets=service.searchnewsearchoptions{Q=MisuseOfRapeLaw,Count=100,Resulttype=TwitterSearchResultType.Recent}

JSON整数2265545852对于Int32太大或太小。路径“状态[19]。在第1行,位置60279的“回复用户id”中

如果我把计数改为18,而不是100,效果很好

上面的代码只返回100个数据,这些数据混合了tweet和Re tweet。 有没有办法实现这些目标

获取所有tweetsMixed的Tweets并重新发送Tweets,而不是100条。 使用FilterNo Re Tweets仅获取推文。
与此问题类似的问题有很多,但没有一个真正帮助过我。

目前发布到Nuget的TweetSharp版本不支持用户等的长整数id。如果您的搜索结果返回一条来自id较大的用户的推文,则会因此错误而失败

TweetSharp的nuget存储库中的源代码确实包含对此的修复,因此,如果您能够自己获取并构建代码,并引用您构建的二进制文件,那么问题应该消失

如果你不想去做那件事,你需要使用TweetSharp的一个分支——原来的TweetSharp不再被维护。Nuget TweetSharp上有几个备用软件包,我目前主要维护这些软件包或TweetSharp备用软件包。或者,您可以更改为一个完全不同的库,例如LinqToTwitter