GitHub API提供了获取组织members的方法。我是我的组织的管理员/所有者,我想获得所有用户的电子邮件地址。我尝试使用members
API,但它没有返回电子邮件地址。
将curl与我的管理员auth-token
一起使用:
GET /orgs/my-org/members
我得到的响应看起来像这样(对于其中一个用户)
"login": "auny",
"id": some-number,
"avatar_url": "https://secure.gravatar.com/avatar/6579d09c459f1adad8a60463f47eadd3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
"gravatar_id": "6579d09c459f1adad8a60463f47eadd3",
"url": "https://api.github.com/users/auny",
"html_url": "https://github.com/auny",
"followers_url": "https://api.github.com/users/auny/followers",
"following_url": "https://api.github.com/users/auny/following{/other_user}",
"gists_url": "https://api.github.com/users/auny/gists{/gist_id}",
"starred_url": "https://api.github.com/users/auny/starred{/owner}
{/repo}",
"subscriptions_url": "https://api.github.com/users/auny/subscriptions",
"organizations_url": "https://api.github.com/users/auny/orgs",
"repos_url": "https://api.github.com/users/auny/repos",
"events_url": "https://api.github.com/users/auny/events{/privacy}",
"received_events_url":
"https://api.github.com/users/auny/received_events",
"type": "User"
奇怪的是,这包含了大量关于用户的信息,但不包含其中一个重要的信息,即用户的电子邮件地址。作为admin
,我应该能够获得所有用户的电子邮件地址。
另一个user API仅返回我自己的电子邮件地址,即请求中使用auth-token
的帐户的电子邮件地址。 API用法:
GET /user/emails
如何实现这一目标?周围有路吗?
答案 0 :(得分:4)
您可以使用git存储库!里面有很多有趣的信息。
尝试运行:
git shortlog -s -n -e
您将看到包含电子邮件地址的提交者列表。
答案 1 :(得分:3)
使用GraphQL API v4,您不必为每个用户调用请求。以下内容将使组织成员的email
(如果在公开个人资料中提供):
{
organization(login: "my-org") {
members(first: 100) {
totalCount
edges {
node {
login
name
email
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
答案 2 :(得分:1)