2015-11-15 10 views
5

Diciamo che è necessario elencare un numero di follower di ciascun utente che contribuisce a qualche repository (utilizzando JavaScript).GitHub: come evitare di superare il limite di ricerca durante la ricerca dei dettagli dell'account degli utenti che contribuiscono ad alcuni repository?

In primo luogo, io uso questo:

$.ajax({ 
     headers: { Authorization: "Basic " + auth }, 
     type: 'GET', 
     url: 'https://api.github.com/repos/[reponame]/angular/contributors', 
     dataType: 'json', 
     success: function (data) { 
      repositories = data; 
      outputPageContent(); 
     } 
    }); 

ho la lista JSON di utenti, ma non c'è nessuna informazione su una quantità di seguaci di ciascuno di essi. Ho pensato di chiedere separatamente (in un ciclo), l'utilizzo di "url" come:

https://api.github.com/users/repositories[i].login

Ma in questo modo sto superamento del limite di ricerca in una sola volta (fino a 30 al minuto per utente registrato).

Avete qualche idea su come risolvere questo problema? Forse qualche richiesta annidata?

Ho anche alcune domande supplementari:

  1. In un primo momento ho pensato che sarebbe una buona mossa per uso "o" operatore logico e chiedo qualcosa del tipo "dammi tutti gli utenti che accedono = LoginA OR login login = loginB OR login = loginC "ecc. Ma non sono riuscito a trovare come usare" o "operatore logico in github api.

  2. Come è possibile è possibile:

"Per le richieste che utilizzano l'autenticazione di base o OAuth, è possibile effettuare fino a 5.000 richieste per ora."

Ma si può fare solo il 30 richiesta al minuto? Non sarebbe allora 30 * 60 = 1800 richieste all'ora?

risposta

1

Una query come questa è possibile utilizzando Github v4 API. Provalo nello API Explorer

query { 
    repository (name: "angular", owner: "angular") { 
    assignableUsers (first: 100) { 
     edges { 
     node { 
      id 
      login 
      followers { 
      totalCount 
      } 
     } 
     } 
    } 
    } 
} 
+0

Finalmente xd. Grazie. – user3581955

Problemi correlati