首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过api确定协作者的权限(对组织repos)?

通过api确定协作者的权限(对组织repos)?
EN

Stack Overflow用户
提问于 2013-12-22 19:33:44
回答 2查看 10.6K关注 0票数 11

在属于组织(相对于个人)的repos中,协作者是“团队”的成员,团队可以拥有三种不同的权限:

  • 只拉
  • 推拉
  • 推、拉和管理

我可以在这样的回复中看到协作者的列表:

代码语言:javascript
运行
复制
GET /repos/:owner/:repo/collaborators

...but它没有告诉我协作者拥有什么样的权限。

在这种情况下,我是协作者之一;我不拥有存储库。

是否有一种以编程方式确定我拥有的合作者权限类型的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-22 22:32:17

更新2017年6月:你现在有了嵌套团队

然而,API接口提到:

REST v3尚未完全支持嵌套团队。 例如,列出小组成员列出团队存储库的端点不返回从嵌套团队结构继承的结果。

警告:自2020年1月起,Team将从/teams/:team_id下的顶级路径转移到拥有/organizations/:org_id/team/:team_id这样的路径的组织下的作用域路径。

见"移动teams“( 德克扬·布斯库 )

原答案2016

应该包含您的权限的一个查询在"列出用户团队“中提到

代码语言:javascript
运行
复制
GET /user/teams

列出通过身份验证的用户所属的所有组织中的所有团队。此方法在通过作用域进行身份验证时需要用户或回购OAuth

答案看上去如下:

代码语言:javascript
运行
复制
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"
    }
  }
]

您需要对结果进行筛选,以便进行将团队与正确的回购相匹配。,并且应该以这种方式返回与该回购相关联的权限级别。

票数 1
EN

Stack Overflow用户

发布于 2014-01-08 21:05:12

如果要检查是否具有对GitHub回购的推送访问权限,则可以使用端点

GET /repos/:owner/:repo

如果您的请求包括授权信息(包括您的帐户凭据或OAuth访问令牌),则permissions字段将提供您要查找的信息:

{ 'admin': False, 'push': False, 'pull': True }

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20733221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档