GitHub API v3:确定用户是否是组织的所有者

nam*_*uol 7 github-api

如果您知道以下内容,则id很容易确定用户是否是团队成员:

GET /teams/:id/members/:user
Run Code Online (Sandbox Code Playgroud)

但是,如何才能轻松确定每个组织所拥有的特殊"业主"团队的ID?

据我所知,唯一的方法是检索所有团队的完整列​​表(我假设可能是多个页面?)并浏览它们,直到找到名为"Owners"的团队.

当然这是可行的,但对于GitHub的其他奇妙的API来说,这是非常不方便的.;)

为了它的价值,我尝试了以下(没有运气):

GET /orgs/:organization/teams?name=Owners # Lists all teams
GET /orgs/:organization/owners            # 404
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我已确保使用与拥有相关组织的用户相关联的令牌,因此不应存在任何授权问题.

Iva*_*zak 5

目前还没有简单的方法来检查用户是否在所有者团队中.不过,感谢酷炫的功能建议!;)

一个hacky解决方法将涉及执行只允许所有者做的非破坏性操作.如果操作成功 - 经过身份验证的用户是所有者.

例如,您可以尝试通过发送空JSON哈希来编辑组织的设置:

$ curl -v -X PATCH -d '{}' https://api.github.com/orgs/:org?access_token=TOKEN
Run Code Online (Sandbox Code Playgroud)

如果返回200状态代码,则该用户是所有者.否则404状态代码发出信号.

希望我们能够在未来提供更优雅的解决方案.