我可以添加 Thread.sleep() 来解决 Twitter 上的速率限制超出错误吗?



为了解决代码中的速率限制超出问题,我只是想知道,我可以这样做吗?

do
    {
        Log.Info(this, string.Format("Fetching user timeline statuses for {0}", screenName));

            var twitterService = new TwitterService(_consumerKey, _consumerSecret);
            twitterService.AuthenticateWith(_accessToken, _accessTokenSecret);

            ListTweetsOnUserTimelineOptions listTweetsOnUserTimelineOptions =
                new ListTweetsOnUserTimelineOptions();
            listTweetsOnUserTimelineOptions.ScreenName = screenName;
            listTweetsOnUserTimelineOptions.IncludeRts = true;
            Thread.sleep(50000);
        catch (Exception e)
        {
            Log.Error(this, string.Format("exception happened whille calling Twitter Service{0}", e.StackTrace));
        }
    } while (result.Count < count);

根据 API,时间现在分为 15 分钟窗口。那么,通过放入 Thread.sleep() 可以吗?因为Twitter文档并没有真正提供任何代码示例。

非常感谢所有帮助。

是的,你可以,但我会寻找更复杂的任务调度,比如这个:https://stackoverflow.com/a/14945407/253468

还要重新访问 Twitter API 文档,我认为这不是您可以每 15 分钟发送一个请求。将可以请求超过 15 分钟的次数除以了解运行计划任务的频率。

最新更新