跳转至

获取某个用户的公开仓库

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 参数错误

{
  "error": "invalid_request",
  "message": "参数 username 不能为空",
  "field": "username"
}

401 未认证

{
  "error": "unauthorized",
  "message": "缺少或无效的访问令牌"
}

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