GitHub API未返回个人组织,如何获取含个人组织的组织列表?
解决方案
- 首先明确:GitHub 中你个人名下无组织的仓库,其归属是你的个人用户账号,而非所谓的"个人组织"。
user/orgsAPI 仅返回你加入的正式组织,不会包含你的个人账号信息。 - 要实现按"组织+个人账号"的维度整理仓库,步骤如下:
- 调用
GET /userAPI 获取你自己的用户信息,提取其中的login(用户名)作为个人维度的标识。 - 调用
GET /user/orgsAPI 获取所有正式组织列表,将第一步得到的个人账号信息添加到这个列表中,形成完整的维度集合。 - 调用
GET /user/reposAPI 获取你名下的所有仓库,遍历每个仓库的owner.login字段,将仓库归类到对应的维度(个人账号或某个正式组织)下。
- 调用
举个简单的逻辑示例(伪代码):
# 1. 获取个人用户信息 user_info = get_api("/user") personal_login = user_info["login"] # 2. 构建完整维度列表 orgs = get_api("/user/orgs") full_dimensions = orgs + [{"login": personal_login, "name": "个人仓库"}] # 3. 分类仓库 all_repos = get_api("/user/repos") repo_groups = {} for repo in all_repos: owner = repo["owner"]["login"] if owner not in repo_groups: repo_groups[owner] = [] repo_groups[owner].append(repo["name"])
注意:
/user/repos默认返回30条仓库数据,如果仓库数量较多,需要处理分页(通过page和per_page参数)。
内容的提问来源于stack exchange,提问作者ajay
相关产品推荐
相关产品推荐

