如果您知道以下内容,则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)
为了清楚起见,我已确保使用与拥有相关组织的用户相关联的令牌,因此不应存在任何授权问题.
目前还没有简单的方法来检查用户是否在所有者团队中.不过,感谢酷炫的功能建议!;)
一个hacky解决方法将涉及执行只允许所有者做的非破坏性操作.如果操作成功 - 经过身份验证的用户是所有者.
例如,您可以尝试通过发送空JSON哈希来编辑组织的设置:
$ curl -v -X PATCH -d '{}' https://api.github.com/orgs/:org?access_token=TOKEN
Run Code Online (Sandbox Code Playgroud)
如果返回200状态代码,则该用户是所有者.否则404状态代码发出信号.
希望我们能够在未来提供更优雅的解决方案.
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |