Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用TweetSharp返回最近n条推文_C#_Twitter_Twitter Oauth_Tweetsharp - Fatal编程技术网

C# 使用TweetSharp返回最近n条推文

C# 使用TweetSharp返回最近n条推文,c#,twitter,twitter-oauth,tweetsharp,C#,Twitter,Twitter Oauth,Tweetsharp,我正在尝试使用TweetSharp获取最近200条推文,但出于某种原因,它返回了12条 var service = new TwitterService( _consumerKey, _consumerSecret, tokenClaim, tokenSecret ); IAsyncResult result = servic

我正在尝试使用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);
var服务=新推特服务(
_消费主义,,
_消费者信用,
代币索赔,
代币秘密
);
IAsyncResult result=service.BeginListTweetsOnUserTimeline(新列表TweetsOnUserTimeLineOptions{Count=200}
IEnumerable tweets=service.EndListTweetsOnUserTimeline(结果);
知道为什么吗?谢谢

更新

跟随

IAsyncResult结果=
_BeginListTweetsOnUserTimeline(新列表TweetsOnUserTimeLineOptions{Count=200});
IEnumerable tweets=_twitterService.EndListTweetsOnUserTimeline(result.ToArray();
var tweet2=_twitterService.ListTweetsOnUserTimeline(新的ListTweetsOnUserTimelineOptions{Count=200,MaxId=tweets.Last().Id});
返回tweet2;

tweet2为空。

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

我建议您使用上提供的更为更新的库

使用
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;
    }
}
静态异步任务列表TweetsOnUserTimeline(字符串屏幕名)
{
var auth=新的SingleUserAuthorizer
{
CredentialStore=新的SingleUserInMemoryCredentialStore
{
ConsumerKey=ConsumerKey,
ConsumerCret=ConsumerCret,
AccessToken=AccessToken,
AccessTokenSecret=AccessTokenSecret
}
};
使用(var context=newtwittercontext(auth))
{
var tweets=wait(来自context.Status中的tweet
其中tweet.Type==StatusType.User&&
tweet.Count==200&&
tweet.ScreenName==屏幕名
选择tweet)
.ToListAsync();
返回推文;
}
}

仍然比TweetSharp更新。Linq2Twitter的最新nuget软件包将于2016年2月发布,因此这是可以接受的。TweetSharp似乎还有一个新分支值得研究。
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;
    }
}