Github Apps的用户标识



我开发了一个github应用程序,它监听合并事件并为组织提供分析。App具有user:read权限。映射git用户与我的应用程序用户,我们需要一个电子邮件id。我试着调用下面的API,但它总是给电子邮件为空(可能是这些用户没有他们的电子邮件作为公共)。无论个人资料设置如何,我们如何访问电子邮件?. 有没有其他方法可以将git用户映射到我们的应用程序用户(我们只有电子邮件和用户名)

Request req = new Request.Builder()
.url("https://api.github.com/user/emails" + userName)
.header("Authorization", "Bearer " + installationToken)
.get()
.build();
Response resp = client.newCall(req).execute();
String jsonResp2 = resp.body().string();
Map userDetail = gson.fromJson(jsonResp2, Map.class);
String email = userDetail.get("email").toString();

你的代码构造了一个错误的URL:

.url("https://api.github.com/user/emails" + userName)

根据文档,https://api.github.com/user/emailsURL(末尾没有userName,在您的代码中甚至没有斜杠分隔)将为您提供当前认证用户的电子邮件地址。

你需要的是:

.url("https://api.github.com/users/" + userName)

查看文档

相关内容

  • 没有找到相关文章

最新更新