Получить имя пользователя github через основной адрес электронной почты

Я использую библиотеку PyGithub, чтобы пригласить нового члена в организацию. Проблема, с которой я столкнулся, заключается в следующем: в сценарии, когда я знаю только основную электронную почту пользователя, как я могу получить его имя пользователя, чтобы приступить к приглашению соответствующим образом? Я знаю, что это возможно через пользовательский интерфейс, но не могу найти соответствующий вызов через API. Пожалуйста помогите!


person million_miles    schedule 03.07.2017    source источник
comment
не уверен полностью, но я думаю, что вы можете пригласить по электронной почте.   -  person Arpit Solanki    schedule 03.07.2017
comment
@ArpitSolanki Да, он может, но какая у него функция API?   -  person Hamza Anis    schedule 03.07.2017


Ответы (3)


API-интерфейс PyGitHub

См. search_users.

search_users(query, sort=NotSet, order=NotSet, **qualifiers)

  • Строка запроса
  • sort – строка («подписчики», «репозитории», «присоединились»)
  • порядок – строка («по возрастанию», «по убыванию»)
  • квалификаторы — квалификаторы запроса ключевого слова

Например,

g = github.Github("USERNAME", "PASSWORD")
users = g.search_users("franky in:email")
for user in users:
    print(user.login)  # print the selected users' username.

API-интерфейс GitHub

Согласно GitHub API Поиск пользователей, вы можете указать только поиск по общедоступной электронной почте с использованием ключевого слова in.

Например,

https://api.github.com/search/users?q=franky+in:email

Тогда вы будете получать только пользователей с «откровенными» электронными письмами.

person YLJ    schedule 03.07.2017

Для этого используйте github API поиска пользователей. Я пробовал ниже.

https://api.github.com/search/[email protected]

Имя ключа 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
    }
  ]
}
person Arpit Solanki    schedule 03.07.2017
comment
Если имя пользователя nateshmbhat1 имеет общедоступный адрес электронной почты [email protected], то только его можно найти через API. Я видел профиль, я думаю, что у этого пользователя есть частные адреса электронной почты в его профиле - person Arpit Solanki; 16.07.2018

У меня есть общедоступный адрес электронной почты на github, но я не могу получить свое имя пользователя, передающее адрес электронной почты.

-bash-4.2$ curl -i -s https://api.github.com/search/[email protected] HTTP/1.1 200 OK Сервер: GitHub.com Дата: воскресенье, 09 мая 2021 г., 15:00:13 GMT Content-Type: приложение/json; charset = utf-8 Cache-Control: no-cache Варьируется: 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 -Безопасность: max-age=31536000; включить субдомены; 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: байты Content-Length : 73 X-GitHub-Request-Id: 8CAA:5135:2353C0C:3D598CC:6097F908

{
"total_count": 0,
"incomplete_results": false,
"items": [

 ]
 }
-bash-4.2$

введите здесь описание изображения

person kamaraj Muthupandian    schedule 09.05.2021