能做什么

X2Post 开放平台提供读 + 写能力,分三种接入方式:

方式 适用场景 用户要不要授权
OAuth 2.0 授权(推荐) 第三方网站/应用接入,代表用户读写数据 要,用户在同意的权限范围内授权
MCP(Model Context Protocol) Claude、Cursor 等 AI 客户端直接读社区公开内容 要,客户端走 OAuth 自动授权(或用户提供接口令牌)
服务端 Webhook 把站内事件(新注册、举报、待审核等)推送到你的群或服务 不要,由站长配置

写能力(发帖、评论、关注、点赞收藏)已开放,但必须由用户显式授权对应的写 scope(posts:write 等); 写请求以用户身份执行、与站内同一套校验与频次限制,发布内容会标记来源为「接口」供站长溯源。 帖子与站内一致「发布即公开、不可编辑/不可删除」,评论可删除自己的(软删)。详见《开放接口参考》。

一次典型接入

  1. 注册应用:开发者可在「资料设置 → 我的应用」自助提交(站长审核通过即可用),也可请站长直接创建;拿到 client_id(机密应用还有 client_secret);
  2. 用户在你的站点点击「用 X2Post 登录」,浏览器跳到站内授权页;
  3. 用户同意后,你会拿到一次性 code,用它在服务端换取 access_token 与 refresh_token;
  4. 带着 access_token 调用开放接口读取数据;令牌过期用 refresh_token 换新;
  5. 用户在「资料设置 → 已授权应用」可以随时取消授权,你的令牌会立即失效。

约定

  • 读接口只读:所有 GET 不会修改用户数据,也不影响站内统计(如浏览数);
  • 写接口要 scope:写能力(posts:write / comments:write / follow:write / interactions:write)默认拒绝,用户授权才能用; 创建类请求建议带 Idempotency-Key 防重试重复发布,站内拓展块(含保密块)不接受(422);
  • 限流:每个令牌每分钟最多 60 次请求,超出返回 429(响应头带 Retry-After);写接口另有与站内同口径的单动作频次限制;
  • 错误格式:令牌端点按 RFC 6749 返回 {"error":"…","error_description":"…"};业务接口返回 {"code":"…","message":"…"};
  • 版本:接口统一挂在 /api/open/v1 下,破坏性变更会新建版本,不会在 v1 内改语义。

接下来读什么

  • 只做「用 X2Post 登录」、想要标准 SDK 接入:见《OpenID Connect(OIDC)》
  • 授权流程与 PKCE:见《OAuth 2.0 授权》
  • 接口清单与返回字段:见《开放接口参考》
  • 事件推送与签名校验:见《Webhook 通知》