Get GitHub avatar from email or name

只谈情不闲聊 提交于 2019-12-18 10:16:21

问题


I'm trying to get the GitHub user picture (avatar) from users of GitHub.

I've found these API:

https://avatars.githubusercontent.com/<username>
https://avatars.githubusercontent.com/u/<userid>

But I can't find a way to get the avatar from the user email or the user display name. I can't find documentation about that.

Is there some similar URL API to get what I'm looking for?


回答1:


You can append .png to the URL for the User's profile to get redirected to their avatar. You can add the query param size to specify a size smaller than the default of 460px wide (i.e. it won't allow larger than 460).

Examples:

https://github.com/twbs.png

https://github.com/npm.png?size=200

https://github.com/github.png?size=40




回答2:


https://developer.github.com/v3/users/#get-a-single-user

Use the /users/:user endpoint. Should be under avatar_url in the returned json.

For example, my avatar_url can be found by hitting this url.

Edit

There is another way I can think of that is kind of roundabout. Since GitHub uses Gravatar, if you know the email associated with the account, do an md5 hash of the lowercase, stripped email address and construct a url like http://www.gravatar.com/avatar/[md5_here].




回答3:


This is an old post but nobody has proposed Github Search Users API with scope field :

  • using in:email : https://api.github.com/search/users?q=bmartel+in%3Aemail
  • using in:username : https://api.github.com/search/users?q=Bertrand+Martel+in%3Ausername

Or using new Graphql API v4 :

{
  search(type: USER, query: "in:email bmartel", first: 1) {
    userCount
    edges {
      node {
        ... on User {
          avatarUrl
        }
      }
    }
  }
}



回答4:


GitHub avatar can be accessed through https://avatars.githubusercontent.com/u/YOUR_USER_ID

Optionally, you can modify the size at the end like so https://avatars.githubusercontent.com/u/YOUR_USER_ID?s=460




回答5:


Using GraphQL API v4, this will work too

Query (for username)-

{
    user(login: "username") {
        avatarUrl
    }
}

Response -

{
    "data": {
        "user": {
            "avatarUrl": "https://avatars1.githubusercontent.com/u/..."
        }
    }
}


来源:https://stackoverflow.com/questions/22932422/get-github-avatar-from-email-or-name

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!