跳转至

用户

用户相关的接口覆盖个人资料、邮箱与公钥、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