2015-11-06 4 views
0

Моего метода выглядит так:API скорость предел ошибка при использовании org.kohsuke.github.GHUserSearchBuilder

static void search() throws IOException { 

    GitHub gitHub = GitHubBuilder 
      .fromEnvironment() 
      .withPassword(MyAuthData.LOGIN,MyAuthData.PASSWORD) 
      .withRateLimitHandler(RateLimitHandler.WAIT) 
      .build(); 

    GHUserSearchBuilder searchBuilder = gitHub.searchUsers().language("Russian").location("Moscow"); 
    List<GHUser> users = searchBuilder.list().asList(); 
    for(GHUser user: users){ 
     System.out.println(user.getName()+" "+user.getEmail()+" "+user.getCompany());} 
    System.out.println("Total: "+searchBuilder.list().getTotalCount()); 
} 

И это мой журнал:

Exception in thread "main" java.lang.Error: java.io.IOException: {"message":"API rate limit exceeded for alexey-semenov.","documentation_url":"https://developer.github.com/v3/#rate-limiting"} 
    at org.kohsuke.github.Requester$1.fetch(Requester.java:399) 
    at org.kohsuke.github.Requester$1.hasNext(Requester.java:366) 
    at org.kohsuke.github.PagedSearchIterable$1.hasNext(PagedSearchIterable.java:49) 
    at org.kohsuke.github.PagedIterator.fetch(PagedIterator.java:44) 
    at org.kohsuke.github.PagedIterator.hasNext(PagedIterator.java:32) 
    at org.kohsuke.github.PagedIterable.asList(PagedIterable.java:21) 
    at com.company.Searcher.search(Searcher.java:34) 
    at com.company.Main.main(Main.java:9) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 
Caused by: java.io.IOException: {"message":"API rate limit exceeded for alexey-semenov.","documentation_url":"httpss://developer.github.com/v3/#rate-limiting"} 
    at org.kohsuke.github.Requester.handleApiError(Requester.java:506) 
    at org.kohsuke.github.Requester$1.fetch(Requester.java:395) 
    ... 12 more 
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://api.github.com/search/users?q=language%3ARussian+location%3AMoscow&page=31 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1890) 
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1885) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1884) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1457) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) 
    at org.kohsuke.github.Requester.parse(Requester.java:461) 
    at org.kohsuke.github.Requester.access$300(Requester.java:64) 
    at org.kohsuke.github.Requester$1.fetch(Requester.java:390) 
    ... 12 more 
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: httpss://api.github.com/search/users?q=language%3ARussian+location%3AMoscow&page=31 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) 
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) 
    at org.kohsuke.github.Requester.parse(Requester.java:457) 
    ... 14 more 

Кто сталкивался с чем-то подобным? Как сделать авторизацию coorect здесь?

ответ

1

Вы аутентичность правильно - обратите внимание, что API ответил с этим сообщением:

ограничения скорости API превышено для Alexey-СЕМЕНОВ

Это означает, что authentication был успешным (потому что ваш счет был признан), но вы stepped over the rate limit, который составляет 5000 reqs/hour (за пользователя). Если вы не прошли аутентификацию правильно, сообщение было бы примерно таким:

Ограничение скорости передачи API превышено для xxx.xxx.xxx.xxx. (Но вот хорошая новость: Прошедшие проверку запросы получают более высокий предел скорости. Подробнее см. В документации.)

+0

Если это не поможет, не стесняйтесь связаться с помощью https://github.com/ свяжитесь с нами, и мы можем, вероятно, посмотреть наши журналы, чтобы вы знали, какие конечные точки вы нажимаете, что может помочь вам понять, почему вы перешагиваете ограничение скорости. –