すべてのアカウントは SSO 経由で作成されるため、すべてのユーザーに external_id が割り当てられています。別のスレッドでその可能性について言及されています: How can I update users via API using the user id (not username)? - #2 by blake
まず、ユーザーの Discourse user_id を検索する必要があります。その後、その ID を使用して更新リクエストを送信してください。最初のステップの参考として、以下のリンクが役立ちます。
「いいね!」 3
ありがとうございます。ユーザーの更新に2回のAPIリクエストを避けたかったのですが、レート制限に引っかかる問題が発生していました。幸い、解決策が見つかったと思います。user_event webhookを設定すれば、ユーザーがSSOを通じてDiscourseにログインした際に、そのユーザーのDiscourse IDとユーザー名をローカルに保存できるはずです。その後、Discourseの更新を行う際に、保存されたDiscourseユーザー名を使用できます。
「いいね!」 2