Halo 2.22 API 完整使用指南总结

作者:Q师傅 发布时间: 2026-02-28 阅读量:13 评论数: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 封装。

分享:

评论