我们正在构建一个项目,客户通过我们登录页面的重定向链接登录 Github,我们收到一个代码,我们用该代码交换 token 。但是,我们想使用该特定用户的 Github 用户名向 Github API 发出请求(以检索他们已关闭的问题)。
我们已经记录了请求对象、响应对象和 header ,但用户名不存在。用户名必须位于某处,但我们找不到。如果有人有通过外部授权检索用户名的经验,我们将不胜感激。
最佳答案
您可以对 github API 执行获取请求,获取路径
/user?access_token=ACCESS_TOKEN
其中 ACCESS_TOKEN 是您想要详细信息的用户的访问 token 。
响应默认为一个 JSON 对象,它有一个键 'login',其值为用户的用户名。
在 Node.js 中,您可以使用以下选项执行获取请求:
变种选项= {
主机:'api.github.com',
路径: '/user?access_token=' + accessToken,
标题:{
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
}
};
header 中的用户代理字符串对于 github 请求是必需的。
查看此链接了解更多信息,以及来自该端点的示例响应。
关于javascript - 用户通过oAuth2登录到github后找出用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411062/