在属于组织(相对于个人)的repos中,协作者是“团队”的成员,团队可以拥有三种不同的权限:
我可以在这样的回复中看到协作者的列表:
GET /repos/:owner/:repo/collaborators...but它没有告诉我协作者拥有什么样的权限。
在这种情况下,我是协作者之一;我不拥有存储库。
是否有一种以编程方式确定我拥有的合作者权限类型的方法?
发布于 2013-12-22 22:32:17
更新2017年6月:你现在有了嵌套团队。
然而,API接口提到:
警告:自2020年1月起,Team将从/teams/:team_id下的顶级路径转移到拥有/organizations/:org_id/team/:team_id这样的路径的组织下的作用域路径。
原答案2016
应该包含您的权限的一个查询在"列出用户团队“中提到
GET /user/teams列出通过身份验证的用户所属的所有组织中的所有团队。此方法在通过作用域进行身份验证时需要用户或回购OAuth。
答案看上去如下:
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"
}
}
]您需要对结果进行筛选,以便进行将团队与正确的回购相匹配。,并且应该以这种方式返回与该回购相关联的权限级别。
发布于 2014-01-08 21:05:12
如果要检查是否具有对GitHub回购的推送访问权限,则可以使用端点
GET /repos/:owner/:repo
如果您的请求包括授权信息(包括您的帐户凭据或OAuth访问令牌),则permissions字段将提供您要查找的信息:
{ 'admin': False, 'push': False, 'pull': True }
https://stackoverflow.com/questions/20733221
复制相似问题