跳转至

获取组织讨论列表

GET /api/v5/orgs/{org}/discuss

该接口用于获取指定组织的讨论列表,支持按页码和每页数量进行分页查询,可依据创建时间或评论数量排序,并能通过标题和描述关键词搜索,返回讨论的详细信息及作者、分类、标签等内容。

访问令牌支持说明

  • AtomGit 用户访问令牌(AtomGit user access tokens)

是否允许匿名访问

此接口允许匿名访问

请求参数

参数名 位置 类型 必填 说明
org path string 是 组织path
page query string 否 当前的页码
per_page query string 否 每页的数量,最大为 100,默认 20
sort query string 否 可选。排序字段 created(创建时间)、comment_size(评论数量),默认创建时间
direction query string 否 可选。升序/降序(asc/desc),默认降序
search query string 否 根据标题和描述搜索

响应参数

响应体为 JSON 数组,每个数组元素是一个讨论对象,结构如下。

discussion 对象(数组元素)

字段 类型 必返 可为空 说明
discussion.id string 是 否 —
discussion.number integer 是 否 —
discussion.title string 是 否 —
discussion.created_at string 是 否 —
discussion.updated_at string 是 否 —
discussion.author object 是 否 讨论作者信息
discussion.is_lock integer 是 否 是否锁定
discussion.is_pin integer 是 否 是否置顶
discussion.is_category_pin integer 是 否 是否类型下置顶
discussion.is_closed integer 是 否 是否关闭
discussion.is_answered integer 是 否 是否采纳答案
discussion.comment_total integer 是 否 评论数量
discussion.category object 是 否 讨论分类
discussion.namespace object 是 否 所属命名空间
discussion.labels array 否 是 标签

discussion.author 对象

字段 类型 必返 可为空 说明
discussion.author.avatar_url string 是 否 —
discussion.author.id string 是 否 —
discussion.author.object_id string 是 否 —
discussion.author.login string 是 否 —
discussion.author.name string 是 否 —

discussion.category 对象

字段 类型 必返 可为空 说明
discussion.category.id string 是 否 —
discussion.category.name string 是 否 —
discussion.category.icon string 是 否 —
discussion.category.description string 是 否 —
discussion.category.type integer 是 否 —

discussion.namespace 对象

字段 类型 必返 可为空 说明
discussion.namespace.id integer 是 否 —
discussion.namespace.kind string 是 否 —
discussion.namespace.full_path string 是 否 —

discussion.labels 对象

字段 类型 必返 可为空 说明
discussion.labels.id string 是 否 —
discussion.labels.name string 是 否 —
discussion.labels.color string 是 否 —
discussion.labels.created_at string 是 否 —
discussion.labels.updated_at string 是 否 —

失败响应

400 参数错误

{
  "error": "invalid_request",
  "message": "参数错误"
}

401 未认证

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

Note: 以上错误字段名为示例,后端实际返回字段以实际响应为准。

HTTP 响应状态码

状态码 说明
200 成功(OK)
304 未修改(Not modified)
401 需要认证(Requires authentication)
403 禁止访问(Forbidden)
404 组织不存在或路径错误(Not found)

请求示例

参数说明

该接口允许匿名访问,示例中未携带访问令牌;如需鉴权,可携带 AtomGit 用户访问令牌。

<org> 替换为组织路径(组织的地址 path)。

cURL

curl -X GET 'https://api.atomgit.com/api/v5/orgs/<org>/discuss?page=1&per_page=20&sort=created&direction=desc' \
  -H 'Accept: application/json'

JavaScript

// 原生 fetch (Node.js 18+ / 浏览器)
const response = await fetch("https://api.atomgit.com/api/v5/orgs/<org>/discuss?page=1&per_page=20", {
  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/orgs/<org>/discuss",
    params={"page": 1, "per_page": 20},
    headers={"Accept": "application/json"},
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

响应示例

状态码: 200

[
  {
    "id": "string",
    "number": 0,
    "title": "string",
    "created_at": "string",
    "updated_at": "string",
    "author": {
      "avatar_url": "string",
      "id": "string",
      "object_id": "string",
      "login": "string",
      "name": "string"
    },
    "is_lock": 0,
    "is_pin": 0,
    "is_category_pin": 0,
    "is_closed": 0,
    "is_answered": 0,
    "comment_total": 0,
    "category": {
      "id": "string",
      "name": "string",
      "icon": "string",
      "description": "string",
      "type": 0
    },
    "namespace": {
      "id": 0,
      "kind": "string",
      "full_path": "string"
    },
    "labels": [
      {
        "id": "string",
        "name": "string",
        "color": "string",
        "created_at": "string",
        "updated_at": "string"
      }
    ]
  }
]

错误码

错误码 说明
401 未认证或凭证无效(缺少/无效的访问凭证)
400 参数错误或请求无法解析
404 请求路径不存在
405 请求方法不支持
429 请求过于频繁,触发限流
500 系统内部错误

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc