错误 401:未授权 Discord 的 Oauth2
Error 401: Unauthorized with Oauth2 for Discord
我目前正在 PHP 中使用 Oauth2 API 通过 Discord 开发一个连接系统。目前我可以获得代码来获取访问令牌。我获得了访问令牌,但无法获得有关连接用户的信息,因为我收到此错误消息:
Client error: `GET https://discord.com/api/oauth2/@me` resulted in a `401 Unauthorized` response:
{ "message": "401: Unauthorized", "code": 0}.
我在使用访问令牌测试失眠时收到相同的错误消息。我使用身份和电子邮件范围。
这是我的代码,也许它可以帮助你。
我想说明 Google 的第一页已被查看但没有成功...
try{
$tokenEndpoint='https://discord.com/api/oauth2/token';
$userinfoEndpoint='https://discord.com/api/oauth2/@me';
$response=$client->request('POST',$tokenEndpoint,[
'form_params' => [
'client_id' => DISCORD_ID,
'client_secret'=> DISCORD_SECRET,
'grant_type' => 'authorization_code',
'code' => $_GET['code'],
'redirect_uri'=> URL1
]
]);
$accessToken=json_decode($response->getBody())->access_token;
$response=$client->request('GET',$userinfoEndpoint,[
'headers'=>[
'Authorization' =>'Bearer' . $accessToken
]
]);
$response=json_decode($response->getBody());
if($response->verified===true)
{
//Verifier si util avec openid existe
//si il n'existe pas insert
//lancer le reste
session_start();
$_SESSION['email']=$response->email;
header('Location: index.php');
exit();
}
提前感谢您以后的回答。
问题已解决
$response=$client->request('GET',$userinfoEndpoint,[
'headers'=>[
'Authorization' =>'Bearer '.(string)$accessToken
]
]);
我目前正在 PHP 中使用 Oauth2 API 通过 Discord 开发一个连接系统。目前我可以获得代码来获取访问令牌。我获得了访问令牌,但无法获得有关连接用户的信息,因为我收到此错误消息:
Client error: `GET https://discord.com/api/oauth2/@me` resulted in a `401 Unauthorized` response:
{ "message": "401: Unauthorized", "code": 0}.
我在使用访问令牌测试失眠时收到相同的错误消息。我使用身份和电子邮件范围。 这是我的代码,也许它可以帮助你。
我想说明 Google 的第一页已被查看但没有成功...
try{
$tokenEndpoint='https://discord.com/api/oauth2/token';
$userinfoEndpoint='https://discord.com/api/oauth2/@me';
$response=$client->request('POST',$tokenEndpoint,[
'form_params' => [
'client_id' => DISCORD_ID,
'client_secret'=> DISCORD_SECRET,
'grant_type' => 'authorization_code',
'code' => $_GET['code'],
'redirect_uri'=> URL1
]
]);
$accessToken=json_decode($response->getBody())->access_token;
$response=$client->request('GET',$userinfoEndpoint,[
'headers'=>[
'Authorization' =>'Bearer' . $accessToken
]
]);
$response=json_decode($response->getBody());
if($response->verified===true)
{
//Verifier si util avec openid existe
//si il n'existe pas insert
//lancer le reste
session_start();
$_SESSION['email']=$response->email;
header('Location: index.php');
exit();
}
提前感谢您以后的回答。
问题已解决
$response=$client->request('GET',$userinfoEndpoint,[
'headers'=>[
'Authorization' =>'Bearer '.(string)$accessToken
]
]);