Open redirectは人々を不安にさせる傾向があり、この場合、例えばnextcloudを追加すると、人々はnextcloudのURLを使用してdiscourseでキーを生成し、nextcloudにリダイレクトできるようになります。
ステップ6では、具体的にどのAPI呼び出しについて言及していますか?
それとも、他の方がご存知でしたら教えてください!
ステップ6で言及されているAPI呼び出しは、実際に行いたい呼び出しです。これは、ディスコースサイトに対して実際に行いたい処理を実行する呼び出しを指します。
私の場合は、ディスコースサイトと連携する別のアプリケーションがあり、ユーザーが別のアプリケーションで行ったアクションに基づいてディスコースサイトに投稿を作成するなどの処理を行っていました。アプリケーションはユーザーをログインさせ、ユーザーがいくつかの操作を行った後、アプリケーションはPOSTおよびPUT API呼び出しを行って、そのユーザーからディスコースの投稿を作成/編集していました。
なるほど。私の場合は、ユーザーが私のウェブサイトにログインし、Discourseの認証を行ってから戻ってくると、私のウェブサイトがユーザー名、メールアドレス、アバター、IDなどを読み取って、私たちのサイトに新しいユーザーを作成できるようにしたいのです。@JQ331
それなら、ここは間違った場所です。ユーザーAPIキーは使用できません。
代わりに、DiscourseをDiscourseConnectプロバイダーとして、ウェブサイトをDiscourseConnectクライアントとして設定する必要があります。Use Discourse as an identity provider (SSO, DiscourseConnect) を参照してください。
そのようなものには、サイトの秘密鍵へのアクセスが必要になると言って正しいですか?
「」という秘密鍵は存在しませんが、これを設定するにはDiscourseの管理者アクセスが必要になります。
APIのユーザーキーを実装しようとしましたが、APIレートリミッターがあるようです。数回のAPI呼び出し後に429エラーが発生しました。これに関する設定はありますか?有料ホスティングを使用しています。
レート制限に関する詳細はこちらをご覧ください:https://meta.discourse.org/t/available-settings-for-global-rate-limits-and-throttling/78612
Communiteq でホスティングしている場合は、コントロールパネルからサポートデスクにご連絡ください。設定いたします。
こんにちは、@RGJ さん、返信ありがとうございます。弊社ではStandardプランとBusinessプランを契約していますが、コントロールパネルにサポートデスクが表示されません。代わりに team@discourse.org にメールを送ったのですが、これで正しいでしょうか?
もしあなたがDiscourseでホストされている場合(Communiteqの@RGJではなく)、それが私たちのサポートチームに連絡するための正しい方法です。
![]()
こんにちは!
このAPIを利用するアプリケーションを開発しています。
これを使ってユーザー情報(主にユーザー名)を取得する方法はありますか?
それとも、手動でユーザー名を取得してから、後でリクエストする必要がありますか?
ようこそ、@giliceさん。
APIを消費してAPIキーを取得しているのではなく、ユーザーに対して何かをしようとしているということでしょうか?
これは役立つかもしれません。Discourse APIのリバースエンジニアリング
しかし、ユーザー名を取得しようとしているのであれば、管理者の/usersルートでメールアドレスを検索するのが一つの方法です。
何をしようとしているのか教えていただけると助かります。
こんにちは!返信ありがとうございます。もう少しうまく表現できたかもしれません。
質問したかったのは、ユーザーのAPIキーを取得できる場合、ユーザー名を入力したりgetUserメソッドを使用したりすることなく、ユーザーのプロフィール(ユーザー名、プロフィール画像など)を取得できるかということです。
それがどのように機能するのか不明です。APIキーをどこから取得したいのですか?フローでわかるように、ユーザーはそもそもキーを取得するためにログインする必要があり、そのために通常のログイン情報が必要です。何をしようとしているのか、もっと詳しく説明してもらえますか?
皆さん、こんにちは。
アプリケーションで、Discourse の機能を一部実現するためにユーザー API キーを使用しています。誤って、間違った Discourse アカウントでログインを承認してしまいました(/user-api-key/new API を使用)。
間違った Discourse アカウントからアプリへのアクセスを取り消しましたが、正しい Discourse アカウントで承認しようとするとエラーが発生します。ログを確認したところ、以下のエラーが見つかりました。
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint “index_user_api_keys_on_client_id” DETAIL: Key (client_id)=
エラーに基づくと、同じクライアント ID に対して 2 つのユーザー アカウントを関連付けることができないと推測しています。
この問題に対処する方法はありますか?
また、API キーが取り消された場合でも、ユーザー API キーのクライアント ID を更新する API はありますか?
よろしくお願いします!
これは具体的にどういう意味ですか?
ユーザーAPIキーを介してユーザーの代わりにデータをリクエストするアプリケーションを作成しています。目的は、レート制限の問題を回避することです。いつアプリはレート制限の問題に直面しますか?
このようなものを探しているのではないでしょうか。
はい!それが欲しかったものです。本当にありがとうございました!!!
User API キーの OpenAPI 仕様を取得することはできますか、または既存の仕様ドキュメントに追加することを検討してください。
GitHub - discourse/discourse_api_docs: Discourse API Documentation
ダウンストリーム開発者にとって、OpenAPI を使用して必要なインターフェイスと API を生成することを好みます。