2016-10-24 127 views
2

我試圖通過使用PyGithub來獲取所有用戶的存儲庫。 爲了清晰起見,用戶:https://github.com/mbostock有53個公共回購站。如何通過github api獲取所有用戶存儲庫? (包括固定存儲庫)

我的代碼:

import github 
con = github.Github(mylogin, pass) 
u = g.get_user('mbostock').get_repos('all') 

,我得到53,這是正確的號碼,但我注意到,所有收到的回購協議中,我不能找到一些用戶的釘扎庫,例如D3/D3,雖然那個用戶也對這個回購做出了很大的貢獻。

如果有人知道github api,以及接收所有用戶的貢獻回購的方式,請幫助。

回答

2

並非所有用戶的固定資源庫屬於用戶,他們屬於用戶恰好是一個成員組織,因此通過GET /users/:user/repos要求的用戶庫的API時,他們將不會出現(道歉,我不熟悉PyGithub,所以我只會在標準的API網址中發言)。

沒有簡單的方法可以獲取用戶貢獻的存儲庫列表,而無需進行多個API查詢 - 例如獲取用戶所屬組織的列表(GET /user/:user/orgs),然後列出該組織中的存儲庫( GET /orgs/:org/repos)。但是,使用這種方法不能保證用戶對組織中的每個存儲庫都有貢獻。

你當然可以進一步篩選提交的作者,但在這一點上,你可能已經付出了很大的努力(和速率限制)。

+0

非常感謝您的解釋。我大概是這麼想的。 –

相關問題