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

大家好,我是 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 节点了,简单又快速!

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

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

基本格式如下:

bash 复制代码
{
   "articles": [
      {
         "title": "{{ $('mock 数据').item.json.title }}",
         "author": "{{ $('mock 数据').item.json.author }}",
         "content": "{{ $('mock 数据').item.json.content }}",
         "thumb_media_id": "{{ $json.media_id }}",
         "need_open_comment":1,
         "only_fans_can_comment":0
      }
   ]
}

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

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

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

方法 2:使用社区节点

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

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

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

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

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

这个节点中先需要配置 AppIDAppSecret

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

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

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

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

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

选择 草稿 中的 新建草稿

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

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

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

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

最后

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

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

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

相关推荐
流之云低代码平台13 天前
突破传统,PHP工作流引领软件开发新潮流
工作流引擎·系统可靠性·php工作流技术·软件开发效能·业务流程自动化·系统灵活性
决斗小饼干17 天前
拒绝扯皮!3步搞定工作流,我被JNPF硬控了15分钟
低代码·工作流引擎
德育处主任23 天前
『n8n』If组件的用法
人工智能·aigc·工作流引擎
阴阳怪气乌托邦1 个月前
请注意!AI低代码正在干掉传统开发
人工智能·低代码·工作流引擎
决斗小饼干1 个月前
还在硬编码决策逻辑?JNPF决策流正在干掉大批“手工审批”
低代码·工作流引擎
卷积殉铁子1 个月前
低代码实体识别平台设计:当工作流引擎遇上NLP服务
低代码·nlp·工作流引擎
决斗小饼干1 个月前
低代码平台工作流引擎设计:从状态机到智能流转的技术演进
前端·低代码·工作流引擎
vivo互联网技术1 个月前
Vibe Coding 之我们距离 “贾维斯” 还有多远
ai编程·工作流引擎·vibecoding
Java小卷1 个月前
流程设计器为啥选择diagram-js
前端·低代码·工作流引擎
凌康ACG2 个月前
Warm-Flow国产工作流引擎入门
java·工作流引擎·flowable·warm-flow