获取某个用户的公开仓库¶
GET /api/v5/users/{username}/repos
用户调用此接口,进行获取某个用户的公开仓库操作.
访问令牌支持说明¶
- AtomGit 用户访问令牌(AtomGit user access tokens)
是否允许匿名访问¶
此接口不允许匿名访问
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
username |
path | string | 是 | 用户名(username/login) |
access_token |
query | string | 是 | 用户授权码 |
type |
query | string | 否 | 仓库类型:用户创建的仓库(owner)、用户个人仓库(personal)、用户为仓库成员(member)、所有(all)。默认:all |
sort |
query | string | 否 | 排序方式:创建时间(created)、更新时间(updated)、最后推送时间(pushed)、仓库所属与名称(full_name)。默认:full_name |
direction |
query | string | 否 | 排序方向:sort 为 full_name 时用升序(asc),否则用降序(desc) |
page |
query | integer | 否 | 当前页码 |
per_page |
query | integer | 否 | 每页数量,最大为 100,默认 20 |
响应参数¶
响应体为仓库对象数组,数组每个元素描述该用户的一个公开仓库。
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
id |
integer | 是 | 否 | 仓库 ID |
full_name |
string | 是 | 否 | 仓库完整名称,形如 owner/name |
human_name |
string | 是 | 否 | 仓库可读名称,形如 owner / name |
url |
string | 是 | 否 | 仓库 API 地址 |
namespace |
object | 是 | 否 | 仓库所属空间(企业、组织或个人) |
path |
string | 是 | 否 | 仓库路径 |
name |
string | 是 | 否 | 仓库名称 |
description |
string | 否 | 是 | 仓库描述 |
status |
string | 是 | 否 | 仓库状态:0 开始(表示仓库未归档)、2 关闭(表示仓库已归档) |
ssh_url_to_repo |
string | 否 | 是 | 仓库 SSH 克隆地址 |
http_url_to_repo |
string | 否 | 是 | 仓库 HTTP 克隆地址 |
web_url |
string | 否 | 是 | 仓库网页地址 |
homepage |
string | 否 | 是 | 仓库主页 |
members |
string[] | 否 | 是 | 仓库成员列表 |
assignee |
array | 否 | 是 | 仓库协作者列表 |
forks_count |
integer | 是 | 否 | 分支(fork)数量 |
stargazers_count |
integer | 是 | 否 | 星标数量 |
project_labels |
array | 否 | 是 | 仓库标签列表 |
relation |
string | 否 | 是 | 当前用户与仓库的关系 |
permission |
object | 否 | 是 | 当前用户对仓库的权限 |
internal |
integer | 是 | 否 | 是否为内部仓库(响应示例中为布尔值) |
open_issues_count |
integer | 是 | 否 | 未关闭的 Issue 数量 |
has_issue |
integer | 是 | 否 | 是否启用 Issue 功能(响应示例中为布尔值) |
watched |
integer | 是 | 否 | 当前用户是否已关注(响应示例中为布尔值) |
watchers_count |
integer | 是 | 否 | 关注者数量 |
assignees_number |
integer | 是 | 否 | 协作者数量 |
enterprise |
object | 否 | 是 | 所属企业/空间信息 |
default_branch |
string | 否 | 是 | 默认分支 |
fork |
integer | 是 | 否 | 是否为分支(fork)仓库(响应示例中为布尔值) |
owner |
object | 是 | 否 | 仓库所有者 |
assigner |
object | 否 | 是 | 仓库分配者 |
issue_template_source |
string | 否 | 是 | Issue 模板来源 |
private |
integer | 是 | 否 | 是否为私有仓库(响应示例中为布尔值) |
public |
integer | 是 | 否 | 是否为公开仓库(响应示例中为布尔值) |
gitee |
object | 否 | 是 | Gitee 同步信息 |
namespace 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
namespace.id |
integer | 是 | 否 | 空间 ID |
namespace.type |
string | 是 | 否 | 空间类型,如 user / group / enterprise |
namespace.name |
string | 是 | 否 | 空间名称 |
namespace.path |
string | 是 | 否 | 空间路径 |
namespace.html_url |
string | 是 | 否 | 空间网页地址 |
assignee 数组元素对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
assignee.id |
string | 是 | 否 | 用户 ID |
assignee.login |
string | 是 | 否 | 登录名 |
assignee.name |
string | 是 | 否 | 用户名 |
assignee.avatar_url |
string | 是 | 否 | 头像地址 |
assignee.html_url |
string | 是 | 否 | 用户主页地址 |
assignee.type |
string | 是 | 否 | 用户类型,如 User |
permission 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
permission.pull |
integer | 是 | 否 | 拉取权限(响应示例中为布尔值) |
permission.push |
integer | 是 | 否 | 推送权限(响应示例中为布尔值) |
permission.admin |
integer | 是 | 否 | 管理权限(响应示例中为布尔值) |
enterprise 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
enterprise.id |
integer | 是 | 否 | 空间 ID |
enterprise.path |
string | 是 | 否 | 空间路径 |
enterprise.html_url |
string | 是 | 否 | 空间网页地址 |
enterprise.type |
string | 是 | 否 | 空间类型 |
owner 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
owner.id |
string | 是 | 否 | 用户 ID |
owner.login |
string | 是 | 否 | 登录名 |
owner.name |
string | 是 | 否 | 用户名 |
owner.type |
string | 是 | 否 | 用户类型,如 User |
assigner 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
assigner.id |
string | 是 | 否 | 用户 ID |
assigner.login |
string | 是 | 否 | 登录名 |
assigner.name |
string | 是 | 否 | 用户名 |
assigner.type |
string | 是 | 否 | 用户类型,如 User |
gitee 对象¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
gitee.star |
integer | 是 | 否 | Gitee 星标数 |
gitee.fork |
integer | 是 | 否 | Gitee 分支数 |
gitee.watch |
integer | 是 | 否 | Gitee 关注数 |
project_labels 数组元素为对象,其内部结构以实际返回为准。
失败响应¶
错误响应体的字段结构以后端实际返回为准,以下为常见示例。
400 参数错误
401 未认证
HTTP 响应状态码¶
| 状态码 | 说明 |
|---|---|
200 |
成功(OK) |
401 |
需要认证(Requires authentication) |
403 |
禁止访问(Forbidden) |
404 |
请求路径不存在 |
429 |
请求过于频繁,触发限流 |
500 |
系统内部错误 |
请求示例¶
参数说明¶
<username>替换为目标用户的用户名(username/login);<token>替换为你的 AtomGit 用户访问令牌。
cURL¶
curl -X GET 'https://api.atomgit.com/api/v5/users/<username>/repos?access_token=<token>' \
-H 'Accept: application/json'
JavaScript¶
// 原生 fetch (Node.js 18+ / 浏览器)
const response = await fetch("https://api.atomgit.com/api/v5/users/<username>/repos?access_token=<token>", {
headers: {
"Accept": "application/json"
}
});
if (!response.ok) {
throw new Error(`请求失败: ${response.status}`);
}
const data = await response.json();
console.log(data);
Python¶
import requests
resp = requests.get(
"https://api.atomgit.com/api/v5/users/<username>/repos",
params={"access_token": "<token>"},
headers={"Accept": "application/json"},
timeout=10,
)
resp.raise_for_status()
print(resp.json())
响应示例¶
状态码: 200
[
{
"id": 2734882,
"full_name": "dengmengmian/manifest",
"human_name": "dengmengmian / manifest",
"url": "https://api.atomgit.com/api/v5/repos/dengmengmian/manifest",
"namespace": {
"id": 199940,
"type": "user",
"name": "dengmengmian",
"path": "dengmengmian",
"html_url": "https://api.atomgit.com/dengmengmian"
},
"path": "manifest",
"name": "manifest",
"description": "manifest",
"status": "开始",
"ssh_url_to_repo": "git@atomgit.com:dengmengmian/manifest.git",
"http_url_to_repo": "https://api.atomgit.com/dengmengmian/manifest.git",
"web_url": "https://api.atomgit.com/dengmengmian/manifest",
"homepage": "https://api.atomgit.com/dengmengmian/manifest",
"members": ["dengmengmian"],
"assignee": [
{
"id": "268",
"login": "dengmengmian",
"name": "麻凡",
"avatar_url": "https://cdn-img.atomgit.com/ec/fb/430ecf07b9ee91bbbbf341d92a36783d06e69086f82ce8cf5a6406f79f1c9cf4.png",
"html_url": "https://api.atomgit.com/dengmengmian",
"type": "User"
}
],
"forks_count": 0,
"stargazers_count": 0,
"project_labels": [],
"relation": "master",
"permission": {
"pull": true,
"push": true,
"admin": true
},
"internal": false,
"open_issues_count": 0,
"has_issue": false,
"watched": false,
"watchers_count": 0,
"assignees_number": 1,
"enterprise": {
"id": 199940,
"path": "dengmengmian",
"html_url": "https://api.atomgit.com/dengmengmian",
"type": "user"
},
"default_branch": "master",
"fork": false,
"owner": {
"id": "268",
"login": "dengmengmian",
"name": "麻凡",
"type": "User"
},
"assigner": {
"id": "268",
"login": "dengmengmian",
"name": "麻凡",
"type": "User"
},
"issue_template_source": "project",
"private": false,
"public": true,
"gitee": {
"star": 10,
"fork": 15,
"watch": 1
}
}
]
错误码¶
| 错误码 | 说明 |
|---|---|
401 |
未认证或凭证无效(缺少/无效的访问凭证) |
400 |
参数错误或请求无法解析 |
404 |
请求路径不存在 |
405 |
请求方法不支持 |
429 |
请求过于频繁,触发限流 |
500 |
系统内部错误 |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc