2 种方法!用 n8n 自动发公众号

作者:麦麦麦造日期:2025/11/19

大家好,我是 MAI麦造

前段时间有朋友找我咨询 ==n8n 中如何自动发公众号的问题==,刚好发现了一些新手可能会遇到的坑,所以这里分享一下!

[!Note]我用了两种方法来实现,分别是:

  • 自己手动配置 http 节点,实现公众号接口。
  • 使用社区节点

各有自己适合的场景,所以根据自己的需求来选择即可。

不过都需要用到公众号的官方接口,所以先需要在公众号后台进行一下配置!

公众号后台配置

1. 获取 开发者 ID 和 开发者密码

通过设置与开发——开发接口管理——账号开发信息获取。

第一次可能需要申请一下。 不过基本都能过。

[!note]开发者密码(AppSecret) 是敏感信息,后台只会显示一次,请妥善保存,如果遗忘只能重置!

2. 配置白名单

由于公众号的安全限制,限制必须在白名单内的 IP 才能访问。

所以需要把你的 IP 添加进来。

这里需要注意一下, 建议这一步都在 n8n 中配置一个 http 节点来看你的请求 IP!

这个方法也适合你的 n8n 通过其他方式部署,你不知道 IP 的情况。

很多人在最后一步上传草稿的时候,出现上传不成功的问题,原因就是白名单配置不正确。

n8n 中配置一个网络请求节点,使用GET方法,URL是:http://httpbin.org/ip

这样可以确保你的 n8n 的出口 IP 不会出错!

方法 1:手动配置节点

这个方法相对来讲复杂一些,配置的节点比较多,

比较适合你的 n8n 没法安装社区节点的场景。

这里实际需要调到公众号的 3 个接口,分别是:

  • 获取 token
  • 上传封面素材
  • 上传到草稿箱

这里我设置了一个 mock 数据的节点,来模拟一下真实的场景。 里面总共是 3 个字段:contenttitleauthor

大家根据自己的实际情况调整。

token 是微信用来鉴权的,有过期时间,所以每次运行都要调用一次。

接口主要就 3 个参数:

  • grant_type :值是固定的 client_credential
  • appidsecret :是刚刚获取到的 开发者 ID开发者密码

接下来是上传封面:

这里总共用了 3 个节点,分别是:

  • 下载封面图。 也可以从本地路径读取
  • 上传图片
  • 解析上传结果,拿到 media_id

在下载封面图这里需要注意一下,因为下载完之后是一个文件,

所以在后面一个上传图片的节点中, 需要选择 n8n binary file, 在 Input Data Field Name 中只需要填 data 即可!

这个参数跟其他节点的拖拽方式不同,只能手动输入,且没有提示!

如果不知道这个的话,可能会花比较多的时间来调试。
(本人石锤😭)

大家也可以直接使用我的模板,没这个烦恼哈哈~

接下来就是解析结果,拿到响应中的 media_id:

因为接口返回的是一个JSON格式的字符串,所以需要解码一下才可以拿到里面的值。

[!TIPS] 这里有一个小技巧,可以使用了一个 Set 节点,在当中使用 JS 的表达式来做解析。
就不用配置 Code 节点了,简单又快速!

然后就到最后一步,上传草稿了!

这个节点的核心就是上传的内容:

基本格式如下:

1{
2   "articles": [
3      {
4         "title": "{{ $('mock 数据').item.json.title }}",
5         "author": "{{ $('mock 数据').item.json.author }}",
6         "content": "{{ $('mock 数据').item.json.content }}",
7         "thumb_media_id": "{{ $json.media_id }}",
8         "need_open_comment":1,
9         "only_fans_can_comment":0
10      }
11   ]
12}
13

这里还支持更多的字段地址,具体字段看官方文档:

如果前面的一切都没有问题,那么节点这个运行完之后,响应结果应该大致如下:

这时候在你公众号的草稿箱中就可以看到了!

方法 2:使用社区节点

这个节点包封装好了一系列的微信接口,包括我们要用到的 3 个接口,所以整个流程非常简单,只需要配置 4 个节点即可。

首先是安装它: 进到 Settings-> Community nodes中,

输入 n8n-nodes-wechat-offiaccount 来进行安装

然后在面板的添加节点中搜索 wechat ,选择第一个:

滑动到最底下,选择 授权 获取Access Token

这个节点中先需要配置 AppIDAppSecret

然后是下载封面图和上传素材:

下载封面图的节点和上面一样,不重复了

上传素材节点 选择素材选项下的第一个:上传永久素材

这里不用改动什么,请求参数都封装好了

最后添加上传草稿的节点,

选择 草稿 中的 新建草稿

里面也做了很多的封装,只需要传入文章内容即可:

不过文章参数与刚刚的稍有不同,格式如下:

1[
2      {
3         "title": "这是我的文章标题2",
4         "author": "你的作者名",
5         "content": "<h1>这是一个大标题</h1><p>这里是文章的正文部分,<b>支持 HTML 格式</b>。你可以从其他节点动态传入这段内容。</p><img src='https://mmbiz.qpic.cn/mmbiz_jpg/your_image_url/0?wx_fmt=jpeg' />",
6         "thumb_media_id": "kjIYa7yRqi3jD3XlC9XxnShDNVceXTE_iRf55uv19iEOuBgfKKKvrQ3rd3pg17Kj",
7         "need_open_comment":1,
8         "only_fans_can_comment":0
9      }
10   ]
11
12

运行成功后,结果跟刚刚是一致的

最后

两种方法各种有优缺点,大家根据自己的场景来选择。

有空可以跟着教程自己动手实践一下。

或者公众号后台回复【n8n公众号】获取完整工作流 json 文件,直接接入到自己的工作流中!


2 种方法!用 n8n 自动发公众号》 是转载文章,点击查看原文


相关推荐


某电商大厂技术面试场景解析
360_go_php2025/11/19

​ 在某电商大厂的技术面试中,候选人通常会面临一系列关于分布式系统、性能优化、数据一致性等问题。以下是一些常见的面试问题和解答,帮助你为面试做好准备。 1. 如果我的服务器IP地址变了,客户端如何感知到呢?​编辑 当服务器的IP地址发生变化时,客户端通常无法直接感知到变化,除非有特定的机制来解决这个问题。常见的解决方案包括: DNS(域名系统):通过DNS解析来动态更新服务器的IP地址。客户端会定期请求DNS,以获取最新的服务器IP。 负载均衡器:客户端通过负载均衡器进行访问,负载均衡器会维


STM32通信接口----USART
雾岛听风眠2025/11/17

STM32芯片里面集成了很多功能模块,如定时器计数、PWM输出、AD采集等,这些都是芯片内部的电路,这些电路的配置寄存器、数据寄存器斗殴在芯片里面,操作这些寄存器直接读写即可。但也有一些功能是STM32内部没有的,如蓝牙无线遥控功能、陀螺仪加速度计测量姿态的功能,只能外挂芯片来完成,外挂的芯片,数据都在STM32外面,STM32若想获取这些数据,则需在两个设备之间连接上一根或多跟通信线,通过通信线路发送或接收数据,完成数据交换,从而实现控制外挂模块和读取外挂模块数据的目的。 全双工:通信双方能


我开发了一款关于病历管理的app:安康记
叶子的技术碎碎念2025/11/16

上线了!上线了!基于Vibe Coding我终于也能独立开发出一款属于自己的app-安康记,目前终于成功上架App Store啦。 独立开发app这个事情我很早之前就有点念头,但学习Swift过程还挺痛苦的,总觉的各种语法糖很膈应,导致进度缓慢,后面就一直搁置了。ChatGPT出来之后也尝试了一点,但还是觉得当时的AI能力不够,并且纯靠聊天还是不太行,自从Cursor、Windsurf、CC、Codex这一类AI开发工具出来之后,Vibe Coding的概念也随之火热,我想也是时候重启自己的开发


Python 的内置函数 locals
IMPYLH2025/11/15

Python 内建函数列表 > Python 的内置函数 locals Python 的内置函数 locals() 是一个非常有用的工具函数,它返回一个字典,包含当前局部命名空间中的所有变量名及其对应的值。这个字典反映了函数或代码块中当前可访问的所有局部变量。 def locals(): ''' 返回一个代表当前局部符号表的映射对象 :return: 当前局部符号表的映射对象 ''' 功能详解: 返回内容:locals() 返回的字典包含当前作用域中


Python编程实战 - Python实用工具与库 - 文件批量处理脚本
程序员爱钓鱼2025/11/14

在实际开发、数据整理或办公自动化中,我们经常需要一次性处理大量文件,例如: 批量重命名文件 批量复制/移动文件 批量压缩文件 批量格式转换 批量读取与写入文本内容 Python 的标准库中,os、shutil、glob 等模块可以轻松构建各种文件批处理脚本,是自动化办公与数据清洗的利器。 本章将从常见场景出发,通过示例脚本帮助你快速掌握文件批量处理能力。 一、基础库介绍 1. os 模块 提供文件路径、文件夹、新建/删除目录等操作。 常用方法: os.listdir() os.rena


Arya - 功能强大的在线 Markdown 编辑器
修己xj2025/11/12

在当今信息爆炸的时代,Markdown 已成为写作、文档编写和内容创作的必备工具。今天我要向大家推荐一款功能强大、界面优美的在线 Markdown 编辑器——Arya(二丫)。 ScreenShot_2025-11-12_195419_427.png 项目简介 Arya 是一款基于 Vue2 和 Vditor 构建的现代化在线 Markdown 编辑器。它不仅具备了传统 Markdown 编辑器的所有基础功能,还集成了众多高级特性,让 Markdown 写作变得更加高效和愉悦。 该项目在git


Skip Fuse现在对独立开发者免费! -- 肘子的 Swift 周报 #0110
东坡肘子2025/11/11

📮 想持续关注 Swift 技术前沿? 每周一期《肘子的 Swift 周报》,为你精选本周最值得关注的 Swift、SwiftUI 技术文章、开源项目和社区动态。 📬 在 weekly.fatbobman.com 免费订阅 💬 加入 Discord 与中文 Swift 开发者深入交流 📚 访问 fatbobman.com 查看数百篇深度原创教程  一起构建更好的 Swift 应用!🚀 Skip Fuse现在对独立开发者免费! 在 Swift 社区发布官方 Android 版 SD


Vue SSR 深度解析:ssrProcessTeleport 的源码机制与实现原理
excel2025/11/9

在 Vue 3 的服务端渲染(SSR)编译阶段中,ssrProcessTeleport 是一个二次编译(second-pass)阶段的代码生成转换函数,用于处理 <teleport> 组件的服务端输出逻辑。 本文将深入剖析其设计目的、实现原理与编译链中的位置,并通过逐行注释展示源码的运行流程。 一、概念背景:SSR 与 Teleport 的特殊性 Teleport 的核心作用是在客户端渲染时允许开发者将某些内容渲染到 DOM 树的其他位置,例如: <teleport to="#modal">


单链表反转:从基础到进阶的完整指南
oioihoii2025/11/6

单链表反转是数据结构与算法中的经典问题,它不仅考察对链表结构的理解,也考验编程思维和技巧。本文将带你从基础实现到高级应用,全面掌握单链表反转。 1. 理解单链表 在深入反转算法之前,我们先回顾单链表的基本结构: class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next 单链表的特点是每个节点包含数据和指向下一个节点的指针,只能单向遍历。 2.


前端基础:从0到1实现简单网页效果(一)
<但凡.2025/11/1

目录 1、HTML 概述 2、HTML 的基本结构 3、HTML 常用标签 文本标签 链接与图片 列表 表格 表单 HTML5 新特性 HTML 与 CSS/JavaScript 的协作 HTML 开发工具 学习资源 4、HTML 标签拓展 结构标签 文本标签 链接与媒体标签 列表标签 表格标签 表单标签 元信息标签 语义标签 5、HTML 常用全局属性 表单相关属性 链接与媒体属性 事件处理属性 其他实用属性 6、HTML闭合与非闭合标签

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读