我正在网站上工作,需要从GitHub抓取所有用户信息(至少是我们网站上的用户)。我搜索了GitHub API,但没有找到答案。
那么我有什么方法可以做这份工作吗? 我只有用户的电子邮件。 (我可以通过比较电子邮件哈希与gravatar URL来检查用户)
答案 0 :(得分:10)
如上所述here,您可以依赖以下两个API来检索JSON格式的输出。根据要求,他们都提供了gravatar URL。
协作者(项目组织成员)
贡献者(作者,至少一次提交)
<强>更新强>
以前的API方法要求您从已知的存储库开始。 以下两个提议尝试解决此约束。他们依赖previous version of the API (v2)
通过电子邮件查询(在您的问题中,您声明“我只有用户的电子邮件。”。如果用户同意发布它们,您应该能够撤消有关使用电子邮件作为查询参数的用户的一些信息)
搜索存储库(给定一些关键字(语言,堆栈,...)检索存储库列表。然后,对于每个存储库,使用两个第一个提案,列出其协作者和/或贡献者)
注意:确保API的预期用途与 GitHub Terms of service
一致答案 1 :(得分:4)
GitHub存档 https://www.githubarchive.org/可用于快速获取所有公开过的用户名的转储。
它经常将GitHub事件API导出到Google BigQuery数据集。
从2015年开始的数据格式为:
SELECT
actor.login
FROM (
TABLE_DATE_RANGE([githubarchive:day.events_],
TIMESTAMP('2015-01-01'),
TIMESTAMP('2015-01-02')
))
GROUP BY actor.login
ORDER BY actor.login
并且从2011-02-12开始以不同的格式提供更多数据,应该很容易弄明白。
下载数据需要与Google BigQuery进行一些争夺,但可行:Google BigQuery: download all data
我使用了类似的方法来提取所有GitHub提交电子邮件:https://github.com/cirosantilli/all-github-commit-emails
答案 2 :(得分:0)
您可能想查看此帖子 - https://github.com/blog/643-contributors
api调用可以这样做:
http://github.com/api/v2/json/repos/show/<user>/<repository-name>/contributors
答案 3 :(得分:0)
请注意,自2013年5月起,您现在可以从存储库中提取更多信息 请参阅“File CRUD and repository statistics now available in the API”
我们正在使用存储库统计信息API为graphs提供支持,但我们迫不及待想看看其他人对此信息的处理方式。
从今天开始,您可以使用以下资源:
答案 4 :(得分:0)
https://api.github.com/search/users?q={query}{&page,per_page,sort,order}
答案 5 :(得分:0)
团队明智地列出用户: -
curl -H "Authorization: token [yours]" https://api.github.com/user/teams
使用以下cmd,您可以列出github的所有用户。
curl -H "Authorization: token fkslsml4442323wdsfsdf" https://api.github.com/orgs/cloudaws/members?page=1 | grep login >> github.txt