WP DiscourseをDiscourseに接続する

WP Discourse プラグイン をインストールしたら、Discourse に接続する必要があります。準備ができたら、この短いビデオを視聴するか、以下の手順に従ってください。

次のステップ

プラグインが接続されたら、設定したい機能について説明しているトピックに移動してください。


手順

ステップ

WP Discourse プラグイン設定の「接続」タブを表示すると、常にページの上部に Discourse に接続されているかどうかを示す通知が表示されます。接続を確立するには、以下を入力してください。

  1. 「Discourse URL」設定フィールドにフォーラムの URL を入力します。

  2. 「Publishing Username」設定を確認します。特別な理由がない限り、「system」のままにしておきます。これを変更する場合は、Discourse の管理者ユーザーのユーザー名である必要があります。アバターをクリックすると、ユーザー名のすぐ下にユーザー名が表示されます。

  3. WordPress 用の Discourse API キーを作成します。

    1. Discourse 管理パネル (Discourse フォーラム内) に移動し、「API」をクリックします。

    2. 以下を使用して新しいキーを作成します。

      • 説明: このキーが何のために使用されるかを明確にするラベルを入力します。
      • ユーザーレベル: 「すべてのユーザー」を選択します。
      • スコープ: 「グローバル」を選択します。
    3. 画面に表示されたキーをコピーし、「続行」をクリックします。

  4. WP Discourse の「API Key」設定に API キーを貼り付けます。

これらの設定を入力したら、「オプションを保存」ボタンをクリックしてください。すべて正しく設定されていれば、ページの上部に「Discourse に接続されています」という通知が表示されるはずです。

マルチサイト

WP Discourse プラグインには、1 つの Discourse フォーラムが複数の WordPress ネットワークに接続されている場合のためのマルチサイト設定オプションがあります。このオプションは、ネットワークのメインサイトの接続設定タブで利用できます。

これを有効にすると、プラグインの一部の設定をネットワーク全体で使用できるようになります (すべての接続オプション、Webhook オプション、DiscourseConnect シークレットキー、DiscourseConnect を有効にする設定)。この設定を有効にすると、WordPress から Discourse に投稿が公開される際に、Discourse の topic_id と WordPress の blog_id を関連付けるために使用される追加のデータベーステーブルが作成されます。

マルチサイトでサポートされていない機能

WordPress を DiscourseConnect クライアントとして使用することは、WordPress マルチサイトではサポートされていません。

詳細 API キー (新しい :sparkles:)

WP Discourse プラグイン用に詳細 API キーを作成できるようになりました。詳細 API キーは、近い将来 WP Discourse を Discourse に接続するための標準的な方法になります。

詳細キーの使用方法

詳細キーの使用方法は次のとおりです。

  1. まず、プラグインのバージョン 2.4.3 であり、Discourse が tests-passed ブランチの最新バージョンであることを確認してください。WP Discourse の詳細 API キーは、Discourse の stable ではまだサポートされていません。

  2. Discourse 管理ダッシュボードの API パネルに移動し、新しい「すべてのユーザー」キーを作成しますが、スコープは「詳細」にします。

  3. スコープ リストの下部にある WordPress スコープを見つけます。「公開」スコープ (現在必須) と、WP Discourse プラグインで使用しているその他の機能のスコープを選択し、「保存」をクリックします。

  4. 次に、WP Discourse の「API Key」設定で古いキーを新しい詳細キーに置き換え、設定を保存します。

WP Discourse の設定を保存すると、通常の「Discourse に接続されています!」というメッセージが表示されるはずです。

「Discourse に接続されていません…」と表示される場合は、スコープが正しくない可能性があります。プラグインは、API キーのスコープと現在有効になっている機能を比較します。スコープが不足している場合、接続されていないと見なされます。接続ログを有効にして、ログビューアのエラーメッセージを確認することで、不足しているスコープを確認できます。

WP Discourse のスコープ

WP Discourse プラグインには 4 つのスコープがあります。

  1. 公開。このスコープにより、WordPress から Discourse に投稿を公開できます。このスコープは、投稿を公開していない場合 (たとえば、DiscourseConnect のみを使用している場合) でも必要です。これは将来的に分離され、すべてのスコープがオプションになります。

  2. コメント。このスコープにより、Discourse に公開された投稿への返信を WordPress でコメントとして表示できます。

  3. DiscourseConnect。このスコープにより、(あらゆる構成で) DiscourseConnect を使用できます。

  4. ユーティリティ。このスコープは、プラグインで利用可能な特定のユーティリティ関数に必要です。プラグインとやり取りするカスタム コードがある場合は、必要ないとはっきりわからない限り、このスコープを有効にする必要があります。

詳細キーを使用する理由

詳細キーを使用する主な理由はセキュリティです。グローバル API キーは、キーを持っているすべてのユーザーが Discourse で管理者のように動作することを許可します。これは、Discourse のセキュリティが WordPress のセキュリティに依存することを意味します。詳細キーははるかに強力ではなく、有効にしたスコープに限定されます。

「いいね!」 7

WordPress で投稿を更新する際に、Discourse の関連投稿が更新されないという問題が発生しています。ログには次のエラーが表示されています。

ERROR:
publish.ERROR: update_post.post_error {“wp_title”:"title … ",“wp_author_id”:“2205402”,“wp_post_id”:3179224,“response_message”:“You are not permitted to view the requested resource. The API username or key is invalid.”,“http_code”:403}

WP Discourse を Discourse に接続するために、“Wordpress Pubblishing” および “Wordpress Commenting” スコープを持つ Granular キーを使用しています。どなたか助けていただけますでしょうか?

こんにちは、@deepak_dhamde さん。問題が発生しているとのこと、申し訳ありません。私は本日移動中ですが、問題を再現し、明日一番に回答できるよう努めます。

「いいね!」 1

@deepak_dhamde

ご提示いただいたスコープを使用する際の、グラニュラーキーの設定方法についての動画を録画しました。ご確認いただき、何か異なる点があればお知らせいただけますでしょうか。

@angus様、返信が遅くなり申し訳ありません。

Granular Keyの生成には全く同じ手順を踏んでいますが、ログには依然として同じ403エラーが表示されています。WordPressの投稿を更新しても、Discourseの関連トピックが更新されません。

エラー:

[2024-09-16 06:51:28] publish.ERROR: update_post.post_error {“wp_title”:“Testing update post feature on staging site”,“wp_author_id”:“2168699”,“wp_post_id”:3175772,“response_message”:“You are not permitted to view the requested resource. The API username or key is invalid.”,“http_code”:403}

@deepak_dhamde様

セットアップ方法や環境に若干の違いがある可能性があります。詳細情報がないため、その違いを見つけるのは困難です。以下に、進め方の提案をいくつか示します。

  1. 環境へのアクセス権を提供していただければ(NDAに署名いたします)、確認いたします。
  2. 私が先ほど行ったのと同じ手順を実行しているビデオを録画して、私宛にプライベートで送信してください。
  3. もう一度確認し、以下の点を考慮してください。
    • DiscourseとWordPressは最新の状態ですか?
    • 動作する「グローバル」キーを作成できますか?
    • チームの他のメンバーに同じ手順を実行してもらい、何か新しい発見がないか確認してみてください(時には新鮮な視点が必要な場合があります)。
    • WP Discourseログビューアの「meta」ファイル(つまり、WordPress環境)を共有していただければ、何か目立つ点がないか確認いたします。

Angusさん、こんにちは。

新しいGranularキーを作成し、動画で説明されていた手順に従って、投稿編集スコープを有効にしたところ、正常に動作するようになりました。忍耐強くサポートしていただき、本当にありがとうございました。

「いいね!」 1

4件の投稿が新しいトピックに分割されました:WP Discourseを特定のバージョンで実行されているローカルDiscourseインスタンスに接続する