如何通过GitHub REST API获取需付费授权的人员列表?
获取GitHub组织付费人员列表的最优方法
核心思路:跳过仓库遍历,直接用组织级API
不用逐个仓库查询协作者,GitHub提供了组织级的API端点,能直接获取所有需付费的外部协作者,搭配成员、待处理邀请的端点,就能快速凑齐完整清单。
1. 获取需付费的外部协作者
直接调用组织级外部协作者接口,一次性拿到所有符合条件的用户:
GET /orgs/{org}/outside_collaborators
这个端点返回的是所有被授予组织私有仓库访问权限的外部协作者——这些就是需要付费的外部用户,完全不需要遍历单个仓库。
可选参数优化:
per_page=100:每页返回最多100条结果,减少请求次数filter=all:返回所有外部协作者(默认值,可省略)permission=write/admin:若需筛选拥有写入/管理员权限的协作者(注:只要有私有仓库访问权限就会产生付费,一般无需此参数)
2. 获取组织成员
调用组织成员接口获取所有内部成员:
GET /orgs/{org}/members
返回的所有组织成员均属于付费席位范畴(针对公司付费计划)。
3. 获取待处理邀请
待处理邀请中,发送给外部用户的邀请一旦被接受,就会占用付费席位,需纳入列表:
GET /orgs/{org}/invitations
返回结果中,invitee_type为user且不属于组织成员的用户,就是待付费的潜在人员。
整合与去重
将三个接口返回的用户列表合并,注意去重(例如同一用户可能同时出现在成员和邀请列表中),即可得到完整的付费人员清单。
权限要求
调用以上API需要组织的管理员权限,且需使用带有admin:org权限范围的个人访问令牌(PAT)。
内容的提问来源于stack exchange,提问作者Mara
相关产品推荐
相关产品推荐

