RSS ポーリング

:discourse2: 概要 RSS/ATOM フィードから Discourse サイトへ自動的にコンテンツをインポートしてトピックとして作成する機能を有効にします
:open_book: インストールガイド このプラグインは Discourse コアにバンドルされています。個別にインストールする必要はありません。

:bookmark: このガイドでは、RSS ポーリングプラグインの設定と使用方法について説明し、RSS/ATOM フィードから Discourse サイトへ自動的にコンテンツをインポートしてトピックとして作成する方法を解説します。

:person_raising_hand: 必要なユーザーレベル:管理者

概要

このドキュメントでは、RSS ポーリングプラグインの有効化、フィード URL の設定、設定の管理、および一般的な問題のトラブルシューティングについて説明します。特定のカテゴリへの投稿、著者の割り当て、サイト上のコンテンツの表示方法の制御など、フィードの設定方法を学びます。

RSS ポーリングプラグインの有効化

セルフホストサイト

Admin > Plugins パネルの管理画面に移動し、RSS ポーリングプラグインを見つけてください。トグルスイッチを使用して有効にします。

RSS ポーリングプラグインのトグル

Discourse によるホスティング

サイトが Discourse によってホストされている場合は、サポートチームに連絡して RSS ポーリングプラグインのアクティベーションをリクエストしてください。このプラグインはすべてのホストプランで利用可能です。

RSS フィードの設定

プラグインを有効にしたら、Admin > Plugin > RSS Polling パネルに直接移動するか、/admin/plugins に移動してサイドバーメニューから「RSS Polling」を選択して、RSS ポーリング設定ページにアクセスします。

新しい 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 ポーリングで最も一般的に使用されるプラットフォームの一つですが、設定を誤りやすいのも事実です。以下に、最も一般的な 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

channel_id は、YouTube のチャンネルの 詳細設定 で確認できます。

:warning: チャンネル URL、ユーザー名 URL、またはカスタムチャンネル URL を直接使用しても 機能しません。RSS ポーリングプラグインには明示的な channel_id フィード URL が必要です。

避けるべき一般的な間違い

  • RSS フィード URL の代わりに標準的な YouTube ページ URL を使用すること
  • プレイリストまたはチャンネル URL を使用して正しい ID を抽出しないこと
  • 同じフィード URL にプレイリストとチャンネルのパラメータを混在させること

YouTube フィードの設定が誤っていると、RSS ポーリングプラグインは失敗しても通知されなかったり、新しいトピックのインポートが停止したりする可能性があります。

ポーリング頻度の設定

rss polling frequency サイト設定は、Discourse が RSS フィードをどのくらいの頻度で新しいコンテンツをチェックするかを制御します。デフォルト値は 30 分で、最小値は 10 分、最大値は 180 分(3 時間)です。

セルフホストサイト

ポーリング頻度を調整するには:

  1. /admin/site_settings に移動します
  2. “rss polling frequency” を検索します
  3. 希望の間隔(分単位)を設定します

ホストサイト

rss_polling_frequency サイト設定の調整をリクエストするには、サポートチームに連絡してください。

フィード設定の管理

フィード著者の変更

RSS ポーリング設定ページで「Author」フィールドを更新することで、特定の RSS フィードに関連するすべてのトピックの著者を変更できます。これにより、そのフィードからの既存のトピックも自動的に新しい著者に更新されます。これらの変更は、管理者ログにシステム投稿編集イベントとして表示されます。

フィードカテゴリまたはタグの変更

RSS フィード URL のカテゴリまたはタグを変更しても、既存のトピックは自動的に更新されません。以下の手順を行う必要があります。

  1. 管理一括操作を使用して、既存のトピックを手動で新しいカテゴリに移動するか、タグを更新します
  2. 新しいトピックが正しいカテゴリとタグを使用するように RSS フィード設定を更新します

フィード URL の制限

一意の RSS フィード URL は Discourse に一度だけインポートされます。RSS フィードを初めて設定すると、Discourse はフィード全体をインポートします。同じフィード URL を削除して再追加しても、以前に処理された項目が再インポートされることはありません。

トピックの可視性の制御

トピックが非公開にならないようにする

デフォルトでは、埋め込まれたトピックは返信があるまで非公開(unlisted)になります。この動作は RSS インポートされたトピックには意味がありません。RSS トピックが非公開にならないようにするには:

  1. /admin/site_settings に移動します
  2. “embed unlisted” を検索します
  3. この設定を無効にします

投稿の全文を表示する

embed truncate サイト設定が有効(デフォルト)の場合、フィードトピックは抜粋のみを表示します。ユーザーは「Show Full Post」ボタンをクリックして全文を表示できます。

常に全文を表示するには:

  1. Admin > Site Settings に移動します
  2. “embed truncate” を検索します
  3. この設定を無効にします

投稿の全文が正しく表示されない場合は、embed whitelist selector サイト設定を構成して、インポートする HTML 要素を指定します。

一般的な問題と解決策

フィードが更新されない

以下の点を確認してください。

  • RSS フィード URL が有効でアクセス可能であること
  • ポーリング頻度が高すぎないこと
  • 前回のポーリング以降に実際に新しい項目が RSS フィードにあること

プラグインインターフェースが応答しない

一部のユーザーは、RSS ポーリング設定インターフェースが応答しないという問題を報告しています。これは、ブラウザの広告ブロッカーが管理インターフェースに干渉していることが原因であることが多いです。以下の方法を試してください。

  • Discourse サイトでの広告ブロッカーを無効にする
  • 別のブラウザを使用する
  • ページを強制的に更新する

間違った日付でトピックが作成される

デフォルトでは、RSS トピックはインポート時に現在の日付を使用します。RSS フィードからの元の公開日を使用したい場合は、rss polling use pubdate 設定を有効にします。

よくある質問(FAQ)

RSS フィードをどのくらいの頻度でポーリングできますか?
最小ポーリング頻度は 10 分、最大は 180 分(3 時間)です。

RSS フィードから返信をインポートできますか?
いいえ、RSS ポーリングプラグインはメインのフィード項目を個別のトピックとしてのみインポートします。コメントや返信はインポートされません。

フィードを削除して再追加すると、重複したトピックが作成されますか?
いいえ、各 RSS フィード項目は一度だけインポートされます。フィードを再追加しても重複は作成されません。

RSS ポーリングの問題をデバッグするにはどうすればよいですか?
現在、プラグインのログ機能は限られています。RSS ポーリングに関連するエラーメッセージがないか、Admins > Security > Logs パネルで Discourse ログを確認してください。

追加リソース

「いいね!」 45
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?