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?

有帮助吗?

解决方案

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

其他提示

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].

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

Or using new Graphql API v4 :

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

Using GraphQL API v4, this will work too

Query (for username)-

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

Response -

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top