通过主邮箱获取 github 用户名
Get github username through primary email
我正在使用 PyGithub 库邀请新成员加入组织。我面临的问题是下一个:
在这种情况下,当 我只知道用户的主要电子邮件 时,我如何检索他的用户名以相应地进行邀请?
通过UI知道可以,但是通过API找不到对应的调用。
请帮忙!
为此使用 github user search api。我尝试了下面的。
https://api.github.com/search/users?q=solankiarpit1997@gmail.com
键名login
这里是用户名。
回应:
{
"total_count": 1,
"incomplete_results": false,
"items": [
{
"login": "arpit1997",
"id": 10682054,
"avatar_url": "https://avatars1.githubusercontent.com/u/10682054?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/arpit1997",
"html_url": "https://github.com/arpit1997",
"followers_url": "https://api.github.com/users/arpit1997/followers",
"following_url": "https://api.github.com/users/arpit1997/following{/other_user}",
"gists_url": "https://api.github.com/users/arpit1997/gists{/gist_id}",
"starred_url": "https://api.github.com/users/arpit1997/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/arpit1997/subscriptions",
"organizations_url": "https://api.github.com/users/arpit1997/orgs",
"repos_url": "https://api.github.com/users/arpit1997/repos",
"events_url": "https://api.github.com/users/arpit1997/events{/privacy}",
"received_events_url": "https://api.github.com/users/arpit1997/received_events",
"type": "User",
"site_admin": false,
"score": 52.297474
}
]
}
PyGithub API
参考search_users
.
search_users(query, sort=NotSet, order=NotSet, **qualifiers)
- query – string
- sort – string (‘followers’, ‘repositories’, ‘joined’)
- order – string (‘asc’, ‘desc’)
- qualifiers – keyword dict query qualifiers
例如,
g = github.Github("USERNAME", "PASSWORD")
users = g.search_users("franky in:email")
for user in users:
print(user.login) # print the selected users' username.
GitHub API
根据 GitHub API Search users,您可以使用关键字 in
.
指定仅通过 public 电子邮件进行搜索
例如,
https://api.github.com/search/users?q=franky+in:email
然后,您只会在电子邮件中找到 "franky" 的用户。
我在 github 上有 public 电子邮件地址,但无法通过电子邮件地址获取我的用户名
-bash-4.2$ curl -i -s https://api.github.com/search/users?q=kamu.raju@gmail.com
HTTP/1.1 200 OK
Server: GitHub.com
Date: Sun, 09 May 2021 15:00:13 GMT
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Vary: Accept, Accept-Encoding, Accept, X-Requested-With
X-GitHub-Media-Type: github.v3; format=json
Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-
RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-
RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-
Media-Type, Deprecation, Sunset
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: deny
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
Content-Security-Policy: default-src 'none'
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 8
X-RateLimit-Reset: 1620572473
X-RateLimit-Resource: search
X-RateLimit-Used: 2
Accept-Ranges: bytes
Content-Length: 73
X-GitHub-Request-Id: 8CAA:5135:2353C0C:3D598CC:6097F908
{
"total_count": 0,
"incomplete_results": false,
"items": [
]
}
我正在使用 PyGithub 库邀请新成员加入组织。我面临的问题是下一个: 在这种情况下,当 我只知道用户的主要电子邮件 时,我如何检索他的用户名以相应地进行邀请? 通过UI知道可以,但是通过API找不到对应的调用。 请帮忙!
为此使用 github user search api。我尝试了下面的。
https://api.github.com/search/users?q=solankiarpit1997@gmail.com
键名login
这里是用户名。
回应:
{
"total_count": 1,
"incomplete_results": false,
"items": [
{
"login": "arpit1997",
"id": 10682054,
"avatar_url": "https://avatars1.githubusercontent.com/u/10682054?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/arpit1997",
"html_url": "https://github.com/arpit1997",
"followers_url": "https://api.github.com/users/arpit1997/followers",
"following_url": "https://api.github.com/users/arpit1997/following{/other_user}",
"gists_url": "https://api.github.com/users/arpit1997/gists{/gist_id}",
"starred_url": "https://api.github.com/users/arpit1997/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/arpit1997/subscriptions",
"organizations_url": "https://api.github.com/users/arpit1997/orgs",
"repos_url": "https://api.github.com/users/arpit1997/repos",
"events_url": "https://api.github.com/users/arpit1997/events{/privacy}",
"received_events_url": "https://api.github.com/users/arpit1997/received_events",
"type": "User",
"site_admin": false,
"score": 52.297474
}
]
}
PyGithub API
参考search_users
.
search_users(query, sort=NotSet, order=NotSet, **qualifiers)
- query – string
- sort – string (‘followers’, ‘repositories’, ‘joined’)
- order – string (‘asc’, ‘desc’)
- qualifiers – keyword dict query qualifiers
例如,
g = github.Github("USERNAME", "PASSWORD")
users = g.search_users("franky in:email")
for user in users:
print(user.login) # print the selected users' username.
GitHub API
根据 GitHub API Search users,您可以使用关键字 in
.
例如,
https://api.github.com/search/users?q=franky+in:email
然后,您只会在电子邮件中找到 "franky" 的用户。
我在 github 上有 public 电子邮件地址,但无法通过电子邮件地址获取我的用户名
-bash-4.2$ curl -i -s https://api.github.com/search/users?q=kamu.raju@gmail.com
HTTP/1.1 200 OK
Server: GitHub.com
Date: Sun, 09 May 2021 15:00:13 GMT
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
Vary: Accept, Accept-Encoding, Accept, X-Requested-With
X-GitHub-Media-Type: github.v3; format=json
Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-
RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-
RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-
Media-Type, Deprecation, Sunset
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: deny
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
Content-Security-Policy: default-src 'none'
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 8
X-RateLimit-Reset: 1620572473
X-RateLimit-Resource: search
X-RateLimit-Used: 2
Accept-Ranges: bytes
Content-Length: 73
X-GitHub-Request-Id: 8CAA:5135:2353C0C:3D598CC:6097F908
{
"total_count": 0,
"incomplete_results": false,
"items": [
]
}