能做什么
X2Post 开放平台提供读 + 写能力,分三种接入方式:
| 方式 | 适用场景 | 用户要不要授权 |
|---|---|---|
| OAuth 2.0 授权(推荐) | 第三方网站/应用接入,代表用户读写数据 | 要,用户在同意的权限范围内授权 |
| MCP(Model Context Protocol) | Claude、Cursor 等 AI 客户端直接读社区公开内容 | 要,客户端走 OAuth 自动授权(或用户提供接口令牌) |
| 服务端 Webhook | 把站内事件(新注册、举报、待审核等)推送到你的群或服务 | 不要,由站长配置 |
写能力(发帖、评论、关注、点赞收藏)已开放,但必须由用户显式授权对应的写 scope(posts:write 等);
写请求以用户身份执行、与站内同一套校验与频次限制,发布内容会标记来源为「接口」供站长溯源。
帖子与站内一致「发布即公开、不可编辑/不可删除」,评论可删除自己的(软删)。详见《开放接口参考》。
一次典型接入
- 注册应用:开发者可在「资料设置 → 我的应用」自助提交(站长审核通过即可用),也可请站长直接创建;拿到
client_id(机密应用还有client_secret); - 用户在你的站点点击「用 X2Post 登录」,浏览器跳到站内授权页;
- 用户同意后,你会拿到一次性
code,用它在服务端换取access_token与refresh_token; - 带着
access_token调用开放接口读取数据;令牌过期用refresh_token换新; - 用户在「资料设置 → 已授权应用」可以随时取消授权,你的令牌会立即失效。
约定
- 读接口只读:所有
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 通知》