Return 最近 n 条使用 TweetSharp 的推文
Return recent n number of tweets using TweetSharp
我正在尝试使用 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 为空。
TweetSharp 是一个旧库,不再维护。众所周知,它存在身份验证问题,但很有可能由于 Twitter API 的变化,您遇到了另一个问题。只是不要浪费时间去修复它。
我建议您使用更新的库 Linq2Twitter
which is also available on 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 获取最近的 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 为空。
TweetSharp 是一个旧库,不再维护。众所周知,它存在身份验证问题,但很有可能由于 Twitter API 的变化,您遇到了另一个问题。只是不要浪费时间去修复它。
我建议您使用更新的库 Linq2Twitter
which is also available on 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;
}
}