用途:把内容(文档、文章、更新日志等)推送到自建站点上的 Fluent Community 空间,基于其 REST API 实现。
认证:使用 ~/.env 中的 Basic Auth 凭据(GA_WORDPRESS_URL、GA_USERNAME、GA_APPLICATION_PASSWORD)。curl 用 -u '$GA_USERNAME:$GA_APPLICATION_PASSWORD';Python 中把 username:password 做 base64 编码后放入 Authorization 头。
基础地址:https://your-site.com/wp-json/fluent-community/v2
主要接口:
- GET /spaces?per_page=50 列出空间
- GET /spaces/{slug}/by-slug 按 slug 获取空间与权限
- POST /spaces/{slug}/join 加入空间(发帖前需为成员)
- POST /feeds 创建帖子,参数含 title、message(必填)、space(必填,用 slug 而非 space_id)、content_type(text/markdown/html)、privacy、status、featured_image、scheduled_at
- POST 或 PATCH /feeds/{feed_id} 更新帖子
- DELETE /feeds/{feed_id} 删除帖子
- POST /spaces 创建空间,使用 space[field] 语法
- PUT /spaces/{slug}/by-slug 或 /spaces/{id}/by-id 更新空间
用法要点:含特殊字符、Markdown 或 HTML 的内容要用 --data-urlencode;大文件可用 --data-urlencode "message@/tmp/content.txt"。批量推送可用 Python urllib 循环处理并加入 time.sleep(0.5) 控制频率。
限制与注意事项:space 必须传 slug,传数字 ID 会返回“Please select a valid space to post in.”;Fluent Community 不渲染 Markdown 表格,推送前应转换为列表;用户必须是空间成员才能发帖;空间设置(如 restricted_post_only、default_post_sort_by、show_sidebar)建议在 Fluent Community 管理后台调整,API 可能无法更新。
适用场景:向指定空间批量发布文档、变更日志等更新内容。