用户¶
用户相关的接口覆盖个人资料、邮箱与公钥、Namespace、Star 与 Watch、通知,以及以当前令牌身份查询「我」的仓库和 Pull Request。
同一个资源通常有两个版本:/user/… 指当前授权用户,/users/{username}/… 指指定用户,权限与返回范围不同。
对象¶
| 对象 | 说明 | 相关接口 |
|---|---|---|
| 用户资料 | 用户名、昵称、头像、简介等公开信息 | 获取用户信息 |
| 授权用户资料 | 当前令牌对应的账号,可读可改 | 更新授权用户的资料 |
| 邮箱 | 账号关联的邮箱及其验证状态 | 获取授权用户的全部邮箱 |
| 公钥 | SSH 公钥的添加、读取与删除 | 添加公钥 |
| Namespace | 用户可用的命名空间,用于确定仓库归属 | 列出授权用户所有的 Namespace |
| Star | 用户收藏的仓库 | 列出用户 star 了的仓库 |
| Watch | 用户关注的仓库 | 列出用户 watch 了的仓库 |
| 通知 | 仓库内的通知列表与批量已读 | 列出仓库里的通知 |
| 仓库 | 个人的公开仓库、授权用户的全部仓库 | 获取某个用户的公开仓库 |
| 动态 | 用户的公开动态(事件) | 获取用户个人动态 |
| Pull Request | 授权用户参与的 PR 列表 | 列出授权用户的Pull Request列表 |
标识方式¶
- 指定用户用
username标识,授权用户直接用/user,不带参数。 - 仓库沿用
owner+repo,其中仓库归属可以用owner也可以用组织或企业路径。 - 公钥用
id标识,通知按owner+repo定位。
常见任务¶
| 任务 | 接口 |
|---|---|
| 获取某个用户信息 | GET /api/v5/users/{username} |
| 获取授权用户资料 | GET /api/v5/user |
| 更新授权用户资料 | PATCH /api/v5/user |
| 列出授权用户所有仓库 | GET /api/v5/user/repos |
| 创建个人项目仓库 | POST /api/v5/user/repos |
| 添加公钥 | POST /api/v5/user/keys |
| 删除公钥 | DELETE /api/v5/user/keys/{id} |
| 获取用户公开仓库 | GET /api/v5/users/{username}/repos |
| 标记通知为已读 | PUT /api/v5/repos/{owner}/{repo}/notifications |
| 列出授权用户 PR | GET /api/v5/user/pulls |
注意事项¶
/user/…与/users/{username}/…是两套接口:前者只作用于当前令牌对应的账号,后者可查任意用户的公开数据,别拿前者当通用查询。- Namespace 有单复数两个接口:
GET /api/v5/user/namespaces是列表,GET /api/v5/user/namespace取单个,路径差一个s。 - 邮箱接口是
GET /api/v5/emails,不带user前缀。 - 「列出授权用户所属的组织」在组织分组里,且它的路径是
GET /api/v5/users/orgs(没有{username}),与GET /api/v5/users/{username}/orgs是两个不同接口。 - 通知只按仓库维度提供,没有跨仓库的通知列表接口。
接口列表¶
本模块共 22 个接口。
| # | 接口 | 方法与路径 | 说明 |
|---|---|---|---|
| 1 | 列出用户 star 了的仓库 | GET /api/v5/users/{username}/starred |
用户调用此接口,进行列出用户 star 了的仓库操作. |
| 2 | 列出用户 watch 了的仓库 | GET /api/v5/users/{username}/subscriptions |
用户调用此接口,进行列出用户 watch 了的仓库操作. |
| 3 | 列出授权用户 watch 了的仓库 | GET /api/v5/user/subscriptions |
用户调用此接口,进行列出授权用户 watch 了的仓库操作. |
| 4 | 列出授权用户所有的 Namespace | GET /api/v5/user/namespaces |
用户调用此接口,进行列出授权用户所有的 Namespace操作. |
| 5 | 列出仓库里的通知 | GET /api/v5/repos/{owner}/{repo}/notifications |
该接口用于列出指定仓库中的通知,支持按是否未读、通知类型及时间范围进行筛选,也可通过通知 ID 精确查询,返回内容包… |
| 6 | 标记仓库里的通知为已读 | PUT /api/v5/repos/{owner}/{repo}/notifications |
该接口用于将指定仓库中的一个或多个通知批量标记为已读,支持通过通知 ID 列表一次性处理多条通知,标记成功后返回空响… |
| 7 | 创建个人项目仓库 | POST /api/v5/user/repos |
用户调用此接口,进行创建个人项目仓库操作. |
| 8 | 列出授权用户所有仓库 | GET /api/v5/user/repos |
用户调用此接口,进行列出授权用户所有仓库操作. |
| 9 | 获取用户的某个仓库 | GET /api/v5/repos/{owner}/{repo} |
该接口用于获取指定用户的某个仓库的详细信息,包括仓库基本属性、所属空间、创建者、克隆地址、Star 与 Fork 数… |
| 10 | 获取用户信息 | GET /api/v5/users/{username} |
用户调用此接口,进行获取一个用户操作. |
| 11 | 更新授权用户的资料 | PATCH /api/v5/user |
用户调用此接口,进行更新授权用户的资料操作. |
| 12 | 获取授权用户的资料 | GET /api/v5/user |
用户调用此接口,进行获取授权用户的资料操作. |
| 13 | 获取授权用户的全部邮箱 | GET /api/v5/emails |
该接口用于获取用户当前账号关联的全部邮箱,返回每个邮箱地址及其验证状态(如已验证),供用户查看与管理账户邮箱信息。 |
| 14 | 获取用户个人动态 | GET /api/v5/users/{username}/events |
用户调用此接口,进行获取用户个人动态操作. |
| 15 | 获取某个用户的公开仓库 | GET /api/v5/users/{username}/repos |
用户调用此接口,进行获取某个用户的公开仓库操作. |
| 16 | 添加公钥 | POST /api/v5/user/keys |
用户调用此接口,进行添加一个公钥操作. |
| 17 | 列出授权用户的所有公钥 | GET /api/v5/user/keys |
用户调用此接口,进行列出授权用户的所有公钥操作. |
| 18 | 删除公钥 | DELETE /api/v5/user/keys/{id} |
用户调用此接口,进行删除一个公钥操作. |
| 19 | 获取公钥 | GET /api/v5/user/keys/{id} |
用户调用此接口,进行获取一个公钥操作. |
| 20 | 获取授权用户的Namespace | GET /api/v5/user/namespace |
用户调用此接口,进行获取授权用户的一个 Namespace操作. |
| 21 | 列出授权用户 star 了的仓库 | GET /api/v5/user/starred |
用户调用此接口,进行列出授权用户 star 了的仓库操作. |
| 22 | 列出授权用户的Pull Request列表 | GET /api/v5/user/pulls |
用户调用此接口,进行列出授权用户的Pull Request列表操作. |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc