🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Blogger Auto Publish Clean

by @rainco2008

Automatically publish Markdown articles to Google Blogger. Supports batch publishing, draft management, and automatic HTML conversion.

TERMINAL
clawhub install blogger-auto-publish-clean

📖 About This Skill


name: blogger-auto-publish description: Automatically publish Markdown articles to Google Blogger. Supports batch publishing, draft management, and automatic HTML conversion.

Blogger Auto-Publish Skill

版本: 1.1.0 发布日期: 2026-03-28 更新日期: 2026-03-28 (Live Implementation) 兼容性: OpenClaw >= 2026.3.0 状态: 生产就绪 ✅

⚠️ 重要前提条件

使用此技能前,你必须准备好以下文件

1. Google API凭据 (credentials.json)

  • 从Google Cloud Console创建项目
  • 启用Blogger API v3
  • 创建OAuth 2.0凭据(Web应用类型)
  • 下载credentials.json文件
  • 2. 博客ID

  • 登录你的Blogger账户
  • 找到要发布的博客
  • 获取博客的数字ID(查看博客URL中的数字部分)
  • 3. 首次授权

  • 运行授权脚本生成token.json
  • 完成浏览器OAuth流程
  • 🎯 技能描述

    自动将Markdown文章发布到Google Blogger博客。支持:

  • 批量发布文章
  • 定时发布
  • 草稿管理
  • 英文内容验证
  • Markdown到HTML转换
  • 📋 功能特性

    核心功能

  • ✅ 自动发布Markdown文章到Blogger
  • ✅ 支持草稿和已发布状态
  • ✅ 批量处理多个文章
  • ✅ 自动HTML转换
  • 管理功能

  • ✅ 列出所有博客文章
  • ✅ 删除测试文章
  • ✅ 管理草稿
  • ✅ 查找博客ID
  • 工具功能

  • ✅ 完整的授权流程
  • ✅ 配置管理
  • ✅ 错误处理和日志
  • ✅ 环境变量支持
  • 🚀 快速开始

    步骤1:安装依赖

    npm install googleapis@latest
    

    步骤2:配置项目

    1. 复制credentials.json到项目根目录 2. 设置博客ID(环境变量或config.js) 3. 运行首次授权

    步骤3:使用示例

    # 列出所有博客
    node list_blogs.js

    发布文章

    node publish.js --file posts/my-article.md

    管理草稿

    node delete-all-drafts.js

    📁 项目结构

    blogger-auto-publish/
    ├── auth.js                 # 授权模块
    ├── blogger.js              # 主发布模块
    ├── config.js              # 配置文件
    ├── credentials.json       # Google API凭据(用户提供)
    ├── token.json            # 授权token(自动生成)
    ├── list_blogs.js         # 列出博客
    ├── publish.js            # 发布文章
    ├── delete-all-drafts.js  # 删除所有草稿
    ├── delete-test-posts.js  # 删除测试文章
    ├── direct-delete-drafts.js # 直接删除草稿
    ├── find-blog-id.js       # 查找博客ID
    ├── complete-auth.js      # 完整授权流程
    ├── index.js              # 主入口文件
    ├── package.json          # 项目配置
    ├── posts/                # 文章目录
    │   └── example-post.md  # 示例文章
    └── scripts/             # 工具脚本
        └── setup-blogger.sh # 安装脚本
    

    🔧 详细使用指南

    1. 获取Google API凭据

    1. 访问 Google Cloud Console 2. 创建新项目或选择现有项目 3. 启用Blogger API v3 4. 创建OAuth 2.0凭据(Web应用) 5. 设置重定向URI:http://localhost:3000/oauth2callback 6. 下载credentials.json

    2. 获取博客ID

    1. 登录 Blogger 2. 进入博客设置 3. 查看URL中的数字ID,或使用find-blog-id.js脚本

    3. 首次授权

    # 设置环境变量
    export BLOG_ID="你的博客ID"

    运行授权

    node auth.js login

    或使用完整授权脚本

    node complete-auth.js

    4. 发布文章

    # 发布单篇文章
    node publish.js --file posts/my-article.md --title "文章标题"

    发布为草稿

    node publish.js --file posts/draft.md --draft

    批量发布

    for file in posts/*.md; do node publish.js --file "$file" done

    📝 文章格式要求

    Markdown文件结构

    ---
    title: 文章标题
    labels: 标签1,标签2,标签3
    draft: false
    

    文章内容

    这里是文章的Markdown内容...

  • 支持标准Markdown语法
  • 支持代码块
  • 支持图片链接
  • 元数据字段

  • title: 文章标题(必需)
  • labels: 标签,逗号分隔(可选)
  • draft: 是否作为草稿发布,true/false(可选,默认false)
  • ⚙️ 配置选项

    环境变量

    export BLOG_ID="YOUR_BLOG_ID_HERE"
    export CREDENTIALS_PATH="./credentials.json"
    export TOKEN_PATH="./token.json"
    export POSTS_DIR="./posts"
    

    config.js 配置

    module.exports = {
      blogId: process.env.BLOG_ID || "YOUR_BLOG_ID_HERE",
      credentialsPath: process.env.CREDENTIALS_PATH || "./credentials.json",
      tokenPath: process.env.TOKEN_PATH || "./token.json",
      postsDir: process.env.POSTS_DIR || "./posts",
      maxRetries: 3,
      retryDelay: 1000,
    };
    

    🔍 故障排除

    常见问题

    1. 授权失败 - 检查credentials.json文件是否正确 - 确保重定向URI配置正确 - 删除旧的token.json重新授权

    2. 博客ID错误 - 使用find-blog-id.js查找正确ID - 确保有博客的编辑权限

    3. 发布失败 - 检查网络连接 - 验证API配额是否充足 - 查看错误日志详细信息

    错误代码

  • 401: 授权无效,重新运行授权
  • 403: 权限不足,检查博客权限
  • 404: 博客ID错误,验证博客ID
  • 429: API配额超限,等待后重试
  • 📊 性能优化

    批量处理建议

  • 一次处理不超过10篇文章
  • 添加延迟避免API限制
  • 使用草稿模式先验证
  • 资源管理

  • 定期清理旧的token.json
  • 备份credentials.json
  • 使用环境变量管理敏感信息
  • 🔄 更新日志

    v1.0.0 (2026-03-28)

  • 初始稳定版本
  • 完整的发布功能
  • 详细的文档
  • 打包为OpenClaw技能
  • 📞 支持与反馈

    如有问题或建议: 1. 查看references/目录中的详细文档 2. 运行node index.js --help查看帮助 3. 检查错误日志获取详细信息

    🎯 技能触发条件

    当OpenClaw检测到以下需求时自动触发:

  • 自动发布文章到Blogger
  • 批量或定时发布
  • Blogger API集成需求
  • Markdown到Blogger转换
  • 🚀 实际应用案例

    此技能已经过完整测试和验证:

    ✅ 已验证功能

  • 博客连接: 成功连接到Google Blogger平台
  • OAuth授权: 完整的Google OAuth 2.0流程已实现
  • 文章发布: Markdown文章可成功发布为草稿或正式文章
  • API集成: Blogger API v3 完全集成
  • 🔧 配置要求

  • 凭据文件: 用户需要提供自己的credentials.json
  • 授权令牌: 首次运行时会自动生成token.json
  • 博客ID: 用户需要提供自己的Blogger博客ID
  • 依赖包: 需要安装googleapis@latest
  • 📝 测试流程

    1. ✅ API连接测试: 验证与Google API的连接 2. ✅ 博客列表测试: 检索用户博客信息 3. ✅ 发布测试: 示例文章发布测试 4. ✅ 授权测试: OAuth授权流程测试

    🛠️ 包含的文件

  • auth.js - OAuth授权模块
  • publish.js - 发布主模块
  • config.js - 配置文件
  • package.json - 项目配置
  • README.md - 使用说明
  • posts/example-post.md - 示例文章
  • SETUP.md - 详细设置指南
  • credentials-example.json - 凭据模板文件

  • 重要: 此技能不包含任何敏感凭据文件。用户需要按照SETUP.md指南自行配置Google API凭据和博客ID。

    📋 Tips & Best Practices

    1. 授权失败 - 检查credentials.json文件是否正确 - 确保重定向URI配置正确 - 删除旧的token.json重新授权

    2. 博客ID错误 - 使用find-blog-id.js查找正确ID - 确保有博客的编辑权限

    3. 发布失败 - 检查网络连接 - 验证API配额是否充足 - 查看错误日志详细信息

    错误代码

  • 401: 授权无效,重新运行授权
  • 403: 权限不足,检查博客权限
  • 404: 博客ID错误,验证博客ID
  • 429: API配额超限,等待后重试