Halo 2.22 API 完整使用指南总结

作者:Q师傅 发布时间: 2026-02-28 阅读量:8 评论数:0

Halo 2.22 API 完整使用指南总结

本文档基于《Halo 2.22.14 API 完整指南》整理,涵盖了所有核心 API 端点的使用方法和最佳实践。


📚 概述

Halo 2.22.14 提供了完整的 RESTful API,支持文章管理、附件上传、内容查询等核心功能。本指南将帮助你快速掌握 Halo API 的使用。


🔑 核心功能概览

1. 文章管理

功能 端点 状态
获取已发布文章 /apis/content.halo.run/v1alpha1/posts?phase=PUBLISHED ✅ 正常
获取所有文章 /apis/content.halo.run/v1alpha1/posts ✅ 正常
获取文章详情 /apis/content.halo.run/v1alpha1/posts/{name} ✅ 正常
创建文章 /apis/content.halo.run/v1alpha1/posts ✅ 正常

2. 内容管理

功能 端点 状态
获取快照内容 /apis/content.halo.run/v1alpha1/snapshots/{name} ✅ 正常

3. 附件管理

功能 端点 状态
上传图片 /apis/api.console.halo.run/v1alpha1/attachments/upload ✅ 正常
获取图片列表 /apis/api.console.halo.run/v1alpha1/attachments ✅ 正常

⚠️ 重要提示

Halo 2.22 的内容存储机制

Halo 2.22 使用 Snapshot 机制存储文章内容,这与传统 CMS 不同:

  • Post 对象:仅存储元数据(标题、slug、分类等)
  • Snapshot 对象:存储实际内容(rawPatch 和 contentPatch 字段)
  • Base64 编码:内容使用 base64 编码存储

这不是 bug,而是 Halo 2.22 的正常架构设计!


💡 最佳实践

推荐工作流程

graph LR
    A[上传图片] --> B[创建文章]
    B --> C[获取图片URL]
    C --> D[生成Markdown]
    D --> E[通过API发布]

关键要点

  1. 认证方式:使用 Bearer Token
  2. 内容格式:推荐使用 HTML 格式(兼容 ProseMirror)
  3. 图片处理:先上传再获取 URL
  4. 分页查询:使用 pagesize 参数

📝 示例代码

获取文章列表

import requests

headers = {"Authorization": f"Bearer {token}"}
resp = requests.get(
    "https://www.shopqiu.com/apis/content.halo.run/v1alpha1/posts?phase=PUBLISHED&page=0&size=10",
    headers=headers
)
data = resp.json()
posts = data.get('items', [])

上传图片

with open('image.png', 'rb') as f:
    files = {'file': ('image.png', f.read(), 'image/png')}
    data = {'policyName': 'default-policy'}
    resp = requests.post(
        "https://www.shopqiu.com/apis/api.console.halo.run/v1alpha1/attachments/upload",
        headers=headers,
        files=files,
        data=data
    )

创建文章

create_post_data = {
    "spec": {
        "title": "文章标题",
        "slug": "article-slug",
        "owner": "admin",
        "publish": False,
        "visible": "PUBLIC",
        "allowComment": True,
        "categories": [],
        "tags": []
    }
}

🎯 总结

Halo 2.22.14 提供了强大而灵活的 API,支持完整的博客管理功能。理解其 Snapshot 机制是高效使用的关键。

核心优势

  • ✅ 完整的 RESTful API 设计
  • ✅ 灵活的内容管理
  • ✅ 高效的附件处理
  • ✅ 完善的权限控制

适用场景

  • 自动化内容发布
  • 批量文章管理
  • 第三方系统集成
  • 自定义工具开发

文档版本: 1.0
最后更新: 2026-02-28
Halo 版本: 2.22.14


💡 提示: 使用 halo-mcp-server 可以更轻松地管理 Halo 博客,支持自然语言交互和完整的 API 封装。

分享:

评论