5
私はoauth approach of adding webhooksをDiscord内のチャンネルに使用しようとしています。ワークフローは、ユーザーがOAuthを使用してアプリケーションで認証することです。それはOAuth'dのユーザがサーバ/チャンネルを選択することができないため、リダイレクトURLが機能Webhook OAuth - アクセストークンのWebhook認証コードを交換するにはどうすればよいですか?
ApiClient::API_URL.'/oauth2/authorize?client_id='.Discord::appKey().'&scope=webhook.incoming&redirect_uri='.urlencode($webhookCallback->callbackUrl()).'&response_type=code');
:その後、私はそれらをリダイレクトします。私がアクセストークンに認証コードを変換しようとするには、以下の要求を使用してい
:あなたはアクセストークンのための認証コードを交換するときは、トークン応答はウェブフックオブジェクトが含まれています
運と:
$client = new Client(); $response = $client->post('https://discordapp.com/api/oauth2/token', [ 'headers' => [ 'Accept' => 'application/json' ], 'form_params' => [ 'grant_type' => 'authorization_code', 'client_id' => env('DISCORD_APP_KEY'), 'client_secret' => env('DISCORD_APP_SECRET'), 'redirect_uri' => url('/discord/webhook-authorized'), 'code' => $request->get('code') ], ]);
私はAPIから取得応答は次のとおりです。
Client error: `POST https://discordapp.com/api/oauth2/token` resulted in a `401 UNAUTHORIZED` response: {"error": "access_denied"}
この申請を完了するためにどのような補助金の種類が必要ですか?
これは実際にあなたが間違っ 'grant_type'を持って意味するものではありません、それはあなたのコードが無効であるか、リダイレクトURIは、コードが一致しないことを意味します。 (https://tools.ietf.org/html/rfc6749#section-5.2を参照) –
@PeterGそれは理にかなっています。 oauthが使用するのと同じURLを使用しているため、別のURLにアクセスする必要があります。ドキュメントはこれについて非常に明確ではありません。 – Webnet