【问题标题】:GitHub App accessing private members and repositoriesGitHub 应用程序访问私有成员和存储库
【发布时间】:2020-03-22 12:39:41
【问题描述】:

我正在尝试制作一个 GitHub 应用程序,该应用程序可以查看我所在组织的私有存储库和安装它的成员。它对组织的已安装应用程序页面上的“检查、成员和元数据”具有读取权限。

我可以使用请求curl -i -H "Authorization: token {token}" -H "Accept: application/vnd.github.machine-man-preview+json" https://api.github.com/installation/repositories 列出存储库,这似乎可行,虽然我现在没有私有存储库来验证,但它确实列出了公共存储库。

但是,我似乎无法找到列出该组织用于安装的私有成员的端点,这就是我通过身份验证的身份。 https://api.github.com/orgs/{org}/members 只显示我组织的公共成员,如果我尝试/members/{private member},我会得到 302,这意味着我的应用程序不是该组织的成员。我做错了什么?

【问题讨论】:

  • 不是重复的,指的是使用用户凭据或个人访问令牌,我问的是作为 GitHub 应用安装访问
  • @xSpartanCx 您是否找到了获取组织的私人成员的解决方案?

标签: github-api


【解决方案1】:

访问权限将授予在特定组织注册的用户,同样应用程序需要具有访问权限。 参考组织设置->开发者设置->个人访问令牌中的范围

请在下面找到经过测试的 GITHUB API 的参考,请按照以下建议更改端点 url。 注意:将 替换为相应的电子邮件、组织详细信息。

For accessing all the members(public & private):
curl -u "<user email address>" https://api.github.com/orgs/<organization name>/members

For accessing all the repos(public & private):
curl -u "<user email address>" https://api.github.com/orgs/<organization name>/repos?type=all

【讨论】:

  • 不确定你在这里得到了什么。该应用程序确实具有正确的范围,但不是以用户身份进行身份验证,而是使用 github.com/organizations//settings/apps/ 下的私钥作为安装进行身份验证
猜你喜欢
  • 2018-11-27
  • 2013-08-17
  • 1970-01-01
  • 2021-01-18
  • 1970-01-01
  • 2013-03-23
  • 2018-09-23
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多