gpt4 book ai didi

discord - Webhook OAuth - 如何用 Webhook 授权代码交换访问 token ?

转载 作者:行者123 更新时间:2023-12-02 16:56:45 30 4
gpt4 key购买 nike

我正在尝试使用 oauth approach of adding webhooks到 Discord 内的 channel 。工作流程是用户使用 OAuth 对我的应用程序进行身份验证。然后我将它们重定向到:

ApiClient::API_URL.'/oauth2/authorize?client_id='.Discord::appKey().'&scope=webhook.incoming&redirect_uri='.urlencode($webhookCallback->callbackUrl()).'&response_type=code');

重定向 URL 之所以有效,是因为它允许 OAuth 用户选择服务器/ channel 。

When you exchange the authorization code for an access token, the token response will contain the webhook object:

我正在使用以下请求尝试将授权代码转换为访问 token ,但没有成功:

    $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' => 'authorization_code',

需要

'grant_type' => 'client_credentials',

关于discord - Webhook OAuth - 如何用 Webhook 授权代码交换访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44477777/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com