在属于组织(而不是个人)的代码库中,协作者是“团队”的成员,并且团队可以拥有三种不同的权限:
- 只读取
- 读取和写入
- 读取、写入和管理
我可以像这样查看代码库上的协作者列表:
GET /repos/:owner/:repo/collaborators
...但它没有告诉我协作者拥有哪种类型的权限。
在这种情况下,我是其中一个协作者;我不拥有该代码库。
是否有一种方法可以通过编程方式确定我拥有的协作者权限类型?
repo
端点: GET /repos/:owner/:repo
permissions
字段将为您提供所需的信息:
{
'admin': False,
'push': False,
'pull': True
}
2017年6月更新:您现在可以使用嵌套团队。
然而,orgs/teams
API提到:
警告:自2020年1月起,团队API将从顶级路径/teams/:team_id
移动到由拥有团队的组织控制的作用域路径下,路径格式为/organizations/:org_id/team/:team_id
。
请参见Dirkjan Bussink的 "移动团队API"。
原始回答2016年
应该包含您许可的唯一查询在“列出用户团队”中提到
GET /user/teams
Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
[
{
"url": "https://api.github.com/teams/1",
"name": "Owners",
"id": 1,
"permission": "admin", <============
"members_count": 3,
"repos_count": 10,
"organization": {
"login": "github",
"id": 1,
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
}
}
]
/user/teams
假定正在查找此信息的用户与正在检查权限的用户相同。 - Jesse Glick