gpt4 book ai didi

github-api - Github 用户电子邮件为空,尽管用户为 :email scope

转载 作者:行者123 更新时间:2023-12-02 22:21:10 24 4
gpt4 key购买 nike

我正在关注Github’s OAuth flow ,并获取一个访问 token ,使我能够访问用户的电子邮件范围。当我使用 https://github.com/login/oauth/access_token 交换代码来获取访问 token 时端点,我得到以下响应:

{
access_token: '83f42..xxx’,
token_type: 'bearer',
scope: 'user:email'
}

看起来很棒。因此,我发出此请求,使用 token 来获取我的用户数据:

Accept-Language: en-us
Accept: application/json
Authorization: token 83f42..xxx
Accept-Encoding: gzip, deflate

GET https://api.github.com/user

我确实得到了我的用户对象作为响应,但电子邮件属性为空。还有人遇到这个问题吗?

最佳答案

我找到了发生这种情况的原因以及解决方法。根据docs :

Note: The returned email is the user's publicly visible email address (or null if the user has not specified a public email address in their profile).

在您的 GitHub 个人资料设置中的公共(public)电子邮件下,某些用户(包括我自己)将该选项设置为“不显示我的电子邮件地址”。对 /user 的调用仅返回公共(public)电子邮件地址,因此如果用户不希望显示它,API 将尊重这一点。

enter image description here

要获取用户的电子邮件地址(无论其是否公开),请使用对 /user/emails 的调用。您将按照与 /user 请求完全相同的方式使用访问 token :

Accept-Language: en-us
Accept: application/json
Authorization: token 83f42..xxx
Accept-Encoding: gzip, deflate

GET https://api.github.com/user/emails

此调用给了我以下 JSON 响应:

[
{
"email": "user@example.com",
"primary": true,
"verified": true
}
]

关于github-api - Github 用户电子邮件为空,尽管用户为 :email scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35373995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com