使用 n8n 自动将带附件的来信发布到 Facebook

发布: (2025年12月28日 GMT+8 13:33)
3 分钟阅读
原文: Dev.to

Source: Dev.to

这个自动化的功能

  • 监视电子邮件收件箱
  • 使用邮件主题作为 Facebook 的文字说明
  • 转换并上传图片附件
  • 自动发布帖子

工作流概览

电子邮件 → Facebook 自动化工作流的高级视图
电子邮件 → Facebook 自动化工作流的高级视图

为什么使用 IMAP(而不是 Gmail 触发器)

我最初尝试使用 n8n 的 Gmail Trigger,因为它看起来更“原生”。实际使用中,它对我的场景并不够可靠:

  • 新邮件并不总是触发工作流
  • 有时根本没有任何触发

对于公开发布的自动化来说,错过哪怕一封邮件都是不可接受的。我出于以下几个实际原因改用了 IMAP

  • 执行一致 —— 每次都有新邮件被捕获
  • 适用于任何邮件提供商 —— 不受 Gmail API 限制

它简单、可靠,保证工作流每次都能触发——正是我需要的。

处理 Facebook 图片帖子

Facebook 不允许在单个帖子中直接上传多张图片。相反,需要:

  1. 将每张图片 未发布 地上传
  2. 收集返回的 media_fbid
  3. 在创建最终帖子时附上这些 ID

步骤 1:遍历附件

使用 Loop Over Items 节点逐个处理附件。

步骤 2:以未发布方式上传

POST https://graph.facebook.com/{page-id}/photos
  • 设置 published: false
  • 传入附件的 URL

每次上传都会返回一个 media_fbid——将其保存。

步骤 3:创建最终帖子

POST https://graph.facebook.com/{page-id}/feed
  • 使用邮件主题作为 message
  • 附上所有收集到的 media_fbid

理解了这个流程后,后续操作就非常直观。

我遇到的坑

附件格式很重要

n8n 将邮件附件视为二进制数据。我必须在上传到 Facebook 前使用 Convert to File 节点进行转换;否则 API 会拒绝。

Facebook 权限

确保你的应用拥有 pages_manage_postspages_read_engagement 权限,否则上传会失败。

最后感想

这并不是一个炫目的自动化——但它悄悄地节省了时间,消除了摩擦。如果你已经在使用 n8n 并且需要处理重复的发布工作,这类工作流绝对值得构建。有时,最好的自动化正是你已经不再注意到的那一个。

Back to Blog

相关文章

阅读更多 »