みなさん、こんにちは!Discourse をコミュニティの主要なコミュニケーション手段として使うのはまだ初心者で、いくつかのことがどう進めばいいか迷っています。
まず、私が何を実現したいのかをお伝えして、ご理解いただければと思います。
私のコミュニティはゲーム中心のもので、Discourse をコミュニティ全体のユーザー管理の基盤として使いたいです。Steam でログインしたユーザーについて、Discourse 上のランクを Steam ゲームサーバーと同期させようとしています。
Discourse API を使って、Steam ID でユーザーを効率的に検索し、そのユーザーが属するグループを取得するにはどうすればよいでしょうか?ご助言いただければ幸いです。API の使用にはある程度慣れているのですが、これがすぐに実現可能かどうか、あるいは最適なアプローチが何か見当がつかないでいます。
これ私もやりたいです。答えはありませんが、以下を参照してください:
The Discourse user’s external_id will match the WP user_id.
I’m not interested in migrating from Discourse, but I am interested in this. Can you elaborate where this field is found? Using Data Explorer , I don’t see it under the users table or any other table.
I’m not sure in which table it’s stored, but external_id is part of the users export file from
/admin/users/list/active → Export
EDIT: found it - it’s in the single_sign_on_records table.
ユーザー ID と外部 ID の両方を含む CSV ファイルを /admin/users/list/active から「エクスポート」してダウンロードできます。これは API 呼び出しではありませんが、参考になるかもしれません。
はい、それは確かに正しい方向への一歩ですね。ただ、外部識別子で人物を検索するためのAPIクエリ方法が見当たりません。理想的にはDiscord IDとSteam IDの両方で検索できるようにしたいのですが、まずはSteam IDの解決に集中したいと考えています。
david
(David Taylor)
2021 年 3 月 30 日午後 3:56
4
Discord と Steam の両方のログインにこれを使用できるはずです:
このガイドでは、API呼び出しを使用してIDプロバイダーからのexternal_idに基づいてDiscourseユーザーを見つける方法を説明します。
必要なユーザーレベル: Administrator
外部認証システムを使用する場合、Discourseは2つのユーザーIDを追跡します。Discourseのuser_idと、IDプロバイダーからのexternal_idです。external_idに基づいてDiscourseユーザーを検索する必要がある場合は、この#howto記事が最適です!以下で、この操作を実行する方法を学びます。
API設定
まず、管理者APIキーを正しく設定していることを確認してください。Discourse APIの設定と使用方法の詳細については、Discourse APIドキュメント を参照してください。
DiscourseConnect
DiscourseConnect (以前はDiscourse SSO として知られていました)を使用している場合は、次のAPI呼び出しでユーザーを取得できます…
本当にありがとうございます。今すぐ試してみましたが、まさに必要な通りに動作しました!あとはゲーム内の実装を書くだけです。