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

相关推荐
Java中文社群1 天前
干货分享|N8N一键将视频转为爆款文章!
工作流引擎
bill4473 天前
BPMN2.0,flowable工作流,【用户任务】使用【任务监听器】动态设置下一步处理人
java·工作流引擎·flowable·bpmn
WekyJay5 天前
JSON 转 BPMN 实战:如何用 Flowable 把前端流程图JSON转成 XML(附完整代码)
工作流引擎
曹工不加班7 天前
n8n 实战:工作流自动发布排版精美的公众号文章
人工智能·工作流引擎
bill4477 天前
BPMN2.0,flowable工作流指向多节点,并且只能选择其中一个节点的处理方式
java·工作流引擎·bpmn
曹工不加班11 天前
n8n 实战:Nano Banana Pro 自动生成图文并茂的科技早报
工作流引擎
Java中文社群14 天前
保姆级教程:3分钟带你轻松搭建N8N自动化平台!(内附视频)
人工智能·工作流引擎
HuskyYellow23 天前
N8N基础入门指南:开源工作流自动化平台技术实践
ai编程·工作流引擎