TweetSharp方法ListTweetsOnHomeTimeline()返回null

时间:2013-09-05 10:49:51

标签: twitter tweetsharp

我是TweetSharp的初学者,我正在使用TweetSharp的ListTweetsOnHomeTimeline()方法,有时这种方法工作正常,有时返回null。

以下是我的代码

IEnumerable<TwitterStatus> homeTweets = service.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions());
            if (homeTweets != null)
            {
                foreach (var item in tweets)
                {
                    Console.WriteLine("{0} says '{1}'", item.User.ScreenName, item.Text);
                }
            }

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

我有同样的问题因为我传递的是SinceId = 0作为选项(= null工作正常);我认为您在发布之前修改了实际代码,这可能是您的问题所在。或者是Twitter API不喜欢的另一个无效选项。

以下是适用于我的代码:

//Persist lastMessageIdProcessed accross calls to prevent
//processing the same messages again and again
long? lastMessageIdProcessed=null;
IEnumerable<TwitterStatus> tweets=service.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions {
    SinceId=lastMessageIdProcessed>0?lastMessageIdProcessed:null,
    Count=100
});

if(tweets!=null)  //Shouldn't happen
{
    foreach(TwitterStatus tweet in tweets)
    {
        lastMessageIdProcessed=tweet.Id;
        //Do your stuff here
    }
}

答案 1 :(得分:1)

我尝试传递SinceId = null,它解决了我的问题,如下:

IEnumerable<TwitterStatus> _tweets = _twitterService.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions { SinceId = null });

但只是一段时间。我注意到这是反复发生的,请求会立即返回null,但是如果我稍后再试,它就可以了。我猜是有一个请求限制。

我发现了这个:https://dev.twitter.com/docs/rate-limiting/1.1