2016-03-15 125 views
0

我有一个文件包含1000 ++ tweets,对于每个条目我想从Foursquare API获取用户信息。 问题是,我不断收到错误率超出限制,是否有避免Foursquare API超出限制的最佳做法?速率限制超过Foursquare API

回答

0

是的,你应该限制你的请求率。您可以创建一个线程,然后暂停指定时间间隔内的api调用。或者你可以使用RxJava。下面提到一个例子。

public static invokeRateLimitedFetch(List<RequestInfo> requests){ 
     //2 second pause    
     Observable.zip(Observable.from(requests), 
       Observable.interval(2, TimeUnit.SECONDS), (obs,timer)->obs) 
       .doOnNext(item -> { 
        //Invoke here use item 
       } 
).toList().toBlocking().first(); 

} 

}