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 文件,直接接入到自己的工作流中!

相关推荐
HuskyYellow13 小时前
N8N基础入门指南:开源工作流自动化平台技术实践
ai编程·工作流引擎
麦麦麦造25 天前
白嫖 Hugging Face 2核16g 服务器部署 n8n 的后续!
工作流引擎
泉城老铁2 个月前
springboot 框架集成工作流的开源框架有哪些呢
spring boot·后端·工作流引擎
逛逛GitHub2 个月前
斩获 2 万多 Star!国外老哥把全网 n8n 工作流都开源了
github·工作流引擎
麦麦麦造3 个月前
0元部署私有n8n,免费的2CPU+16GB服务器,解锁无限制的工作流体验
工作流引擎
shepherd1113 个月前
深入解析Flowable工作流引擎:从原理到实践
java·后端·工作流引擎
NocoBase3 个月前
7 款替代 Zapier 的开源工作流工具推荐
低代码·开源·工作流引擎
nil3 个月前
Dify实战--基于菜谱的RAG系统
llm·产品经理·工作流引擎