RSS轮询

:discourse2: 摘要 允许您将 RSS/ATOM 订阅源中的内容自动导入到 Discourse 站点作为主题
:open_book: 安装指南 此插件已捆绑在 Discourse 核心中。无需单独安装该插件。

:bookmark: 本指南解释了如何配置和使用 RSS Polling 插件,将 RSS/ATOM 订阅源中的内容自动导入到您的 Discourse 站点作为主题。

:person_raising_hand: 所需用户级别:管理员

摘要

本文档将涵盖启用 RSS Polling 插件、配置订阅源 URL、管理设置以及排查常见问题。您将学习如何设置订阅源以发布到特定类别,分配作者,并控制内容在站点上的显示方式。

启用 RSS Polling 插件

自托管站点

导航到 Admin > Plugins 面板中的管理面板,找到 RSS Polling 插件。使用切换开关启用它:

RSS Polling plugin toggle

Discourse 托管站点

如果您的站点由 Discourse 托管,请联系支持团队请求激活 RSS Polling 插件。该插件在所有托管计划中均可用。

配置 RSS 订阅源

启用插件后,您可以通过直接访问 Admin > Plugin > RSS Polling 面板,或者导航到 /admin/plugins 并从侧边栏菜单中选择“RSS Polling”来访问 RSS Polling 配置页面。

添加新的 RSS 订阅源

  1. 在“Feed URL”字段中输入 RSS 或 ATOM 订阅源 URL
  2. 从您的站点中选择一个现有用户作为“Author”(作者)- 该用户将拥有从订阅源创建的所有帖子
  3. 选择 Discourse 类别,订阅源的主题将发布到该类别
  4. 点击 :floppy_disk: 保存按钮。

可选:添加将应用于此订阅源所有主题的标签,和/或输入订阅源类别过滤器以限制导入哪些订阅源项目

订阅源类别过滤器

订阅源类别过滤器设置允许您根据项目的类别元数据限制发布哪些订阅源项目。当您在字段中输入类别术语时,只有与该特定类别匹配的订阅源项目才会导入到 Discourse 中。

例如,如果您检查 https://blog.discourse.org/feed.xml 处的订阅源,您会看到每个条目都有类别信息。您将输入类别的 term 属性的值以过滤特定类别。

YouTube 订阅源配置

常见示例

YouTube 是与 RSS Polling 一起使用的最常见平台之一,但也容易配置错误。以下是大多数常见 YouTube 用例的推荐和支持的订阅源 URL 格式。

导入 YouTube 播放列表

要导入 YouTube 播放列表中的视频,您必须使用 YouTube 播放列表的 RSS 订阅源端点。

正确的格式是:

https://www.youtube.com/feeds/videos.xml?playlist_id=<PLAYLIST-ID>

其中 <PLAYLIST-ID> 是播放列表 URL 中找到的令牌。

例如,给定以下播放列表 URL:

https://www.youtube.com/playlist?list=PLxYzA1B2C3D4E5F6G7H8I9JkLmNoPqR


正确的 RSS 订阅源 URL 将是:

https://www.youtube.com/feeds/videos.xml?playlist_id=PLxYzA1B2C3D4E5F6G7H8I9JkLmNoPqR

导入 YouTube 频道

要导入 YouTube 频道中的视频,请使用频道 RSS 订阅源格式:

https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID

您可以在 YouTube 中频道的 高级设置 下找到 channel_id

:warning: 直接使用频道 URL、用户名 URL 或自定义频道 URL 将不起作用。RSS Polling 插件需要明确的 channel_id 订阅源 URL。

需要避免的常见错误

  • 使用标准 YouTube 页面 URL 而不是 RSS 订阅源 URL
  • 使用播放列表或频道 URL 而不提取正确的 ID
  • 在同一订阅源 URL 中混合使用播放列表和频道参数

如果 YouTube 订阅源配置错误,RSS Polling 插件可能会静默失败或停止导入新主题。

配置轮询频率

rss polling frequency 站点设置控制 Discourse 检查 RSS 订阅源以获取新内容的频率。默认值为 30 分钟,允许的最小值为 10 分钟,最大值为 180 分钟(3 小时)。

自托管站点

要调整轮询频率:

  1. 前往 /admin/site_settings
  2. 搜索 “rss polling frequency”
  3. 设置所需的间隔(分钟)

托管站点

请联系支持团队请求调整 rss_polling_frequency 站点设置。

管理订阅源设置

更改订阅源作者

您可以通过在 RSS Polling 设置页面上更新“Author”字段来更改与特定 RSS 订阅源关联的所有主题的作者。这将自动使用该新作者更新来自该订阅源的所有现有主题。这些更改将作为系统帖子编辑事件显示在您的管理员日志中。

更改订阅源类别或标签

更改 RSS 订阅源 URL 的类别或标签 不会 自动更新现有主题。您需要:

  1. 使用管理批量操作手动将现有主题移动到新类别或更新标签
  2. 更新 RSS 订阅源设置,以便新主题使用正确的类别和标签

订阅源 URL 限制

每个唯一的 RSS 订阅源 URL 只会导入到 Discourse 一次。当您首次配置 RSS 订阅源时,Discourse 会导入整个订阅源。删除并重新添加相同的订阅源 URL 不会导致重新导入之前处理的项目。

控制主题可见性

防止主题变为未列出

默认情况下,嵌入的主题在未收到回复之前是未列出的。这种行为对于 RSS 导入的主题来说没有意义。要防止 RSS 主题变为未列出:

  1. 前往 /admin/site_settings
  2. 搜索 “embed unlisted”
  3. 禁用此设置

显示完整帖子内容

如果启用了 embed truncate 站点设置(默认值),订阅源主题将仅显示摘要。用户可以通过点击“显示完整帖子”按钮查看完整内容。

要始终显示完整内容:

  1. 前往 Admin > Site Settings
  2. 搜索 “embed truncate”
  3. 禁用此设置

如果完整帖子内容没有正确显示,请配置 embed whitelist selector 站点设置以指定应导入哪些 HTML 元素。

常见问题及解决方案

订阅源未更新

检查以下内容:

  • RSS 订阅源 URL 是否有效且可访问
  • 轮询频率是否设置得过高
  • 自上次轮询以来,RSS 订阅源中确实有新项目

插件界面无响应

一些用户报告 RSS Polling 配置界面无响应的问题。这通常是由浏览器广告拦截器干扰管理界面引起的。尝试:

  • 禁用您 Discourse 站点的广告拦截器
  • 使用不同的浏览器
  • 强制刷新页面

主题创建日期错误

默认情况下,RSS 主题在导入时使用当前日期。如果您想使用 RSS 订阅源中的原始发布日期,请启用 rss polling use pubdate 设置。

常见问题解答

我可以多久轮询一次 RSS 订阅源?
最小轮询频率为 10 分钟,最大为 180 分钟(3 小时)。

我可以从 RSS 订阅源导入回复吗?
不,RSS Polling 插件仅将主订阅源项目作为单独的主题导入。它不导入评论或回复。

删除并重新添加订阅源会导致重复主题吗?
不,每个 RSS 订阅源项目只导入一次。重新添加订阅源不会创建重复项。

我如何调试 RSS 轮询问题?
目前,该插件的日志记录有限。请检查 Admins > Security > Logs 面板中的 Discourse 日志,查找与 RSS 轮询相关的任何错误消息。

其他资源

44 个赞
RSS polling plugin ignores items’ pubDate
Make RSS Polling Post In A Specific Topic
Can you add a LinkedIn RSS feed to a "Topic"
Replace a string in all posts
Plugin to scrape news from other sites
RSS plugin default show full post
Is it possible to show the full post content by default?
Trouble with a RSS feed
What's the best way to build a pipeline to post scraped data into Discourse categories with custom tab-based themes?
Where to set up the RSS feeds?
Help with RSS Polling Plugin - Fetching Complete Content & Publishing Translated Content
Substack integration?
Automatically delete topics in a category if no reply within set period
Unlisted topics get sent on mailing list mode
Request a howto auto post from a RSS feed to a chat channel by eg. using make.com?
Adding new posts as replies to a single topic
RSS Polling setting to use pubDate to set the date of imported topics
Importing RSS feed items from specific as topic items
RSS Polling setting to use pubDate to set the date of imported topics
Embed comments from Discourse in your single page app
Topic Ratings Plugin
Conditionally Automating Posts for YouTube Videos
I'm unsure of how oneboxing is setup for blog posts to Discourse
Ability to post newsletter as topic in discourse
Auto-post Youtube videos?
RSS polling doesn't work since dec 2022
Unlisted topics - what are they
Topics Unlisted and 'Maximum number of posts to embed' not respected?
Having polled topics only appear if a user wants to see them?
Migrated my old custom-built trail-journal/blog to Discourse
Not public RSS Feed?
Option to close on import
Bundling more popular plugins with Discourse core
Adding an RSS feed as topics in my site
Automatically post YouTube videos from a certain channel?
Automatically post YouTube videos from a certain channel?