WP DiscourseでActivityPubを使用すると422 Unprocessable Contentレスポンスが発生する

WordPress の最新バージョンと最新の WordPress プラグインを使用しています。WP から Discourse への自動投稿時に、次のエラーが発生します。

サイト [netzwissen.de] から Discourse への投稿に失敗しました。投稿 '@netzwissen.de Migration erledigt' は、autor01 によって WordPress に 2024-01-01 13:34:14 に公開されました。 [\u003chttps://www.netzwissen.de/2024/01/01/netzwissen-de-migration-erledigt/\u003e](https://www.netzwissen.de/2024/01/01/netzwissen-de-migration-erledigt/)

失敗理由: Discourse から 422 レスポンスコードが返されました。Embed url wird bereits verwendet WP Discourse プラグインで問題が発生している場合は、次の場所でヘルプを見つけることができます: [\u003chttps://meta.discourse.org/c/support/wordpress\u003e](https://meta.discourse.org/c/support/wordpress)

このエラーにもかかわらず、投稿は Discourse に表示されますが、WordPress の Divi テーマフレームワーク (Divi — The Ultimate WordPress Theme & Visual Page Builder) から提供される空の \u003cdiv\u003e ...\u003c/div\u003e ブロックがいくつか表示されます。このような HTML/CSS コードは、Discourse の bbcode/md スキームに自動処理される際に削除されるべきではないでしょうか?

トーマスさん、私の最初の考えでは、投稿がDiscourseに2回送信されているためにエラーが発生しており、HTMLの問題は別であるということです。まず、二重公開の問題から始めましょう。いくつか確認していただけますか?

  1. このエラーはどこで確認していますか?WP DiscourseプラグインのLogs Viewerですか?
  2. Discourseに公開されるすべての投稿でこのエラーが発生していますか、それとも一部の投稿のみですか?
  3. 投稿をスケジュールしていますか?
  4. 投稿を作成するためにどのWordPressコンポーザーを使用していますか(クラシックまたはグーテンベルク)?
  5. WordPressでの投稿方法に影響を与える他のテーマ、プラグイン、またはカスタマイズを使用していますか?
「いいね!」 2

アンガスさん、まずスコットランド(と仮定します)に「新年おめでとうございます」:sunny:

WP CMS からのエラーメールです。WP プラグインのコードで作成され、CMS フレームワーク経由で送信されています。

これまでのところ、すべての投稿で発生しています。

いいえ。ただし、WP で投稿を編集し、最終的に公開する前に下書きとして保存しました。したがって、理論的には「公開」、つまり「Discourse API への公開」は一度だけ表示されるはずです…

Divi テーマと、以下の組み込みコンポーザーを使用しています。

まだ Gutenberg やクラシックコンポーザーではテストしていません。

「いいね!」 1

WP Discourse のログビューに移動し、「ダウンロード」をクリックして、ダウンロードしたファイルを私にプライベートメッセージで送信してください。これにより、あなたの環境、設定、エラーをより深く理解するのに役立ちます。ありがとうございます!

明けましておめでとうございます! (残念ながら私はオーストラリア人なので、あまり面白くありません :wink: )

「いいね!」 3

こんにちは!私も今全く同じ問題を抱えており、自分で解決できません。記事を公開するたびに、Discourseのトピックに接続されません。エラーコードは上記と同じです。解決策が見つかったら、ぜひ教えてください。

ActivityPubプラグインも有効になっていますか?もしそうであれば、WP Discourseプラグインによって作成された埋め込みトピック(このトピックの問題でした)とはまだ互換性がありません。

「いいね!」 1

残念ながら、それは私の問題ではありません。そのプラグインを持っていません。

@Miasanrot さん、こんにちは。問題の詳細について、新しいトピックを作成していただけますか?特に以下の点についてお願いします。

  1. WP Discourse のログ(メタファイルを含む)。
  2. Discourse のログ(特にエラーログ)。
  3. 使用している Discourse のプラグイン一覧。

よろしくお願いします!

@MiasanrotにはActivityPubプラグインがないため、問題はWPプラグインからDiscourse APIに配信されるコンテンツにあると推測します。おそらく、Discourseの投稿エントリを作成する前に、https://github.com/discourse/wp-discourse/blob/main/lib/discourse-publish.php をもう少しトリミングする必要があるでしょう…

@Thomas_Rother様、このエラーは様々な原因で発生する可能性があります。個別にアプローチするのが最善です。

WP-DIscourse プラグインで、現在の WP インストールと Divi Theme/Divi Composer (https://www.elegantthemes.com) を組み合わせて使用した場合に、依然として大きな問題が発生しています。

  1. WP で新しいブログ記事を投稿する際に 422 エラーが発生します (上記参照)。
  2. プラグインが Discourse API を介して作成した投稿に、「クリーンな」MD コンテンツがありません。

現時点では、WP-DIscourse プラグイン 2.5.2 は私のユースケースではまだ使用できないため、無効にしました。注: 元の見出しは間違っていた/誤解を招くものだったと現在考えています。これは WP から Discourse への問題であり、WP の ActivityPub プラグイン (ActivityPub – WordPress-Plugin | WordPress.org Deutsch) とは全く関係がなく、Discourse インスタンス内にインストールされている @angus の ActivityPub プラグインとはさらに無関係です。

DMで連絡していただけますか?根本から解決したいです。