gpt4 book ai didi

php - 如何使用来自 discord oauth2 登录的访问 token 来获取用户信息

转载 作者:行者123 更新时间:2023-12-04 17:40:00 26 4
gpt4 key购买 nike

我一直在尝试设置我的网站,以便用户可以通过 discord 登录。目前,我有以下代码:

<html>
<body>
<?php
session_start();
if ($_SERVER['REQUEST_METHOD']=='POST')
{
$params = array(
'response_type' => 'token',
'client_id' => '550631359337594881',
'scope' => 'identify'
);
header('Location:https://discordapp.com/api/oauth2/authorize?'.http_build_query($params));
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="submit" value="Login">
</form>
</body>
</html>

将用户发送到 discord 授权链接,然后返回:

http://localhost/#access_token=TOKEN&token_type=Bearer&expires_in=604800&scope=identify

我通过 XAMPP 本地服务器在网站上工作,所以我可以使用 PHP,这就是为什么它是一个 http://localhost

一切都很好,但我的问题是我实际上不知道我应该从这里去哪里。我有 token 、 token 类型、有效期和范围,但我不知道应该如何使用它们。

我想要什么

我希望能够获得用户的 discord 头像和用户名,因此我使用了身份范围(更多信息请参见 https://discordapp.com/developers/docs/topics/oauth2)。如果它可以用 PHP 完成,我会喜欢它,因为我根本不知道如何使用 JSON 和 AJAX 之类的语言,但是如果这是唯一的方法,那总比没有好。

有人可以在我收到访问 token 后帮我跟进吗?提前致谢!

最佳答案

正如您对 PHP 的了解,您知道可以将 token 作为变量获取。使用该 token ,您可以向 discords API 发送请求。您需要为您提供基本用户信息的端点:http://discordapp.com/api/users/@me对于以下内容,您需要 CURL Libary

$curl_h = curl_init('http://discordapp.com/api/users/@me');

curl_setopt($curl_h, CURLOPT_HTTPHEADER, array(
'User-Agent: MyCoolAuth v0.1',
'Authorization: TOKEN'
)
);
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl_h);

该响应是一个包含您可能需要的所有信息的数组。其内容的详细解释可以在 discords developer portal 找到。 .

关于php - 如何使用来自 discord oauth2 登录的访问 token 来获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943607/

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