CNode API v1 完整接口文档(JSON 规范整理)

基础路径:CNode社区


一、主题相关接口

1. 获取主题列表

  • 接口名称:获取主题首页列表
  • 请求方式:GET
  • URL:/topics
  • 入参

json

复制代码
{
  "page": "Number 页数",
  "tab": "String 分类(ask/share/job/good)",
  "limit": "Number 每页数量",
  "mdrender": "String true/false 是否渲染markdown"
}

2. 获取主题详情

  • 接口名称:获取主题详情
  • 请求方式:GET
  • URL:/topic/:id
  • 入参

json

复制代码
{
  "mdrender": "String true/false",
  "accesstoken": "String 可选,用于判断收藏/点赞状态"
}

3. 新建主题

  • 接口名称:新建主题
  • 请求方式:POST
  • URL:/topics
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "title": "String 必填",
  "tab": "String ask/share/job/dev",
  "content": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "topic_id": "5433d5e4e737cbe96dcef312"
}

4. 编辑主题

  • 接口名称:编辑主题
  • 请求方式:POST
  • URL:/topics/update
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填",
  "title": "String 必填",
  "tab": "String ask/share/job",
  "content": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "topic_id": "5433d5e4e737cbe96dcef312"
}

二、主题收藏相关

1. 收藏主题

  • 接口名称:收藏主题
  • 请求方式:POST
  • URL:/topic_collect/collect
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true
}

2. 取消收藏主题

  • 接口名称:取消收藏主题
  • 请求方式:POST
  • URL:/topic_collect/de_collect
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true
}

3. 获取用户收藏的主题


三、评论相关

1. 新建评论

  • 接口名称:新建评论
  • 请求方式:POST
  • URL:/topic/:topic_id/replies
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "content": "String 必填",
  "reply_id": "String 可选,回复某条评论"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "reply_id": "5433d5e4e737cbe96dcef312"
}

2. 评论点赞 / 取消点赞

  • 接口名称:评论点赞
  • 请求方式:POST
  • URL:/reply/:reply_id/ups
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "action": "down/up"
}

四、用户相关

1. 获取用户详情

  • 接口名称:获取用户详情
  • 请求方式:GET
  • URL:/user/:loginname
  • 入参:无(路径参数用户名)
  • 出参:用户信息、积分、创建主题、回复等
  • 请求示例https://cnodejs.org/api/v1/user/alsotang

2. 验证 accessToken

  • 接口名称:验证 accessToken
  • 请求方式:POST
  • URL:/accesstoken
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "loginname": "用户名",
  "id": "用户ID",
  "avatar_url": "头像地址"
}
  • 失败:返回 403

五、消息通知相关

1. 获取未读消息数

  • 接口名称:获取未读消息数
  • 请求方式:GET
  • URL:/message/count
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "data": 3
}

2. 获取所有消息

  • 接口名称:获取已读 / 未读消息
  • 请求方式:GET
  • URL:/messages
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "mdrender": "String true/false"
}
  • 出参示例

json

复制代码
{
  "data": {
    "has_read_messages": [],
    "hasnot_read_messages": [
      {
        "id": "543fb7abae523bbc80412b26",
        "type": "at",
        "has_read": false,
        "author": {
          "loginname": "alsotang",
          "avatar_url": "https://avatars.githubusercontent.com/u/1147375?v=2"
        },
        "topic": {
          "id": "542d6ecb9ecb3db94b2b3d0f",
          "title": "adfadfadfasdf",
          "last_reply_at": "2014-10-18T07:47:22.563Z"
        },
        "reply": {
          "id": "543fb7abae523bbc80412b24",
          "content": "[@alsotang](/user/alsotang) 哈哈",
          "ups": [],
          "create_at": "2014-10-16T12:18:51.566Z"
        }
      }
    ]
  }
}

3. 标记全部消息已读

  • 接口名称:标记全部已读
  • 请求方式:POST
  • URL:/message/mark_all
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "marked_msgs": [{"id":"544ce385aeaeb5931556c6f9"}]
}

4. 标记单个消息已读

  • 接口名称:标记单个已读
  • 请求方式:POST
  • URL:/message/mark_one/:msg_id
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "marked_msg_id": "58ec7d39da8344a81eee0c14"
}

通用说明

  1. accessToken:登录 CNode → 设置页面获取
  2. mdrender:默认 true,渲染 markdown;false 则返回原始文本
  3. 所有需要登录的接口必须携带 accesstoken 参数
相关推荐
爱敲代码的小鱼3 分钟前
springsecurity:
java·开发语言·数据库
豆沙小饼干4 分钟前
MySQL 小白循序渐进实操路线(纯动手,跟着敲就能练,全程生活化案例:外卖平台)
java
西柚小萌新4 分钟前
【论文写作】--LaTeX详细入门教程2
前端·html
qdkfz4 分钟前
JavaScript 如何解析 Outlook .msg 文件 —— @kenjiuno/msgreader
前端·javascript
Wang's Blog8 分钟前
Java框架快速入门: Spring Bean核心配置与实例化详解
java·开发语言·spring
LuckyDog阿祥24 分钟前
卸载Microsoft Edge:EdgeRemover完整操作指南
前端·edge
zhangxingchao28 分钟前
AI应用开发九:从 Hermes Agent 学长期记忆
前端·人工智能·后端
爱敲代码的小鱼28 分钟前
springboot原理篇:
java·spring boot·spring
zzzll111131 分钟前
如何学习AI Agent?
java·人工智能·学习·程序员·大模型