2013-06-06 13 views
18

Sto cercando di ottenere un elenco di tutti i repository di un'organizzazione, compresi quelli privati. (O, per essere più precisi, tutti i depositi privati ​​di un certo utente ha accesso.)Come elencare gli archivi privati ​​dell'organizzazione tramite l'API GitHub?

Reqesting informazioni per l'organizzazione (https://api.github.com/orgs/acme?access_token=[...]) mostra che ci sono infatti un sacco di archivi privati:

... 
"public_repos": 5, 
"total_private_repos": 68, 
"owned_private_repos": 68, 
... 

(il token di accesso che sto utilizzando in precedenza era stato generated using the API per username/passwd.)

Ma qualunque cosa cerco di elencare i pronti contro termine ...

https://api.github.com/orgs/acme/repos&access_token=[...] 

... GitHub API restituisce solo i 5 repository pubblici. (Documentation saystype=private , nessuna differenza.)

Qualche idea di cosa sto facendo male?

L'utente a cui è stato effettivamente generato il token di accesso ha Push & Accesso a solo alcuni dei repository privati ​​dell'organizzazione, ma nessuno di quelli appare nell'elenco che ottengo (solo i 5 repository pubblici).

+2

Tutto quello che stai facendo sembra a mio parere. Potrebbe essere una buona idea contattare l'assistenza GitHub: [email protected] Una cosa però - quali ambiti hai definito durante la creazione del token OAuth? –

+0

@IvanZuzak: Ah, non avevo notato che hai specificato gli ambiti durante la creazione del token ... Avevo usato uno [script di esempio Python] (http://agrimmsreality.blogspot.co.uk/2012/05/sampling-github -api-v3-in-python.html) in cui è stato utilizzato l'ambito 'public_repo'. Quindi, creando un nuovo token con l'ambito 'repo', l'ho fatto funzionare. Grazie! Puoi aggiungerlo anche come risposta, quindi posso accettarlo? – Jonik

+0

Fantastico, sono contento che abbia risolto il problema per voi. Scrivi una risposta breve qui sotto. Saluti! –

risposta

10

Tutto quello che stai facendo è OK. Tuttavia, quando si creano token OAuth per l'autenticazione, assicurarsi di definire il codice corretto scopes. Ciascun ambito definisce un insieme specifico di azioni consentite (informazioni che è possibile leggere/scrivere), pertanto è necessario verificare che si stia creando il token con l'ambito repo.

Problemi correlati