如何使用来自不和谐oauth2登录名的访问令牌来获取用户信息

时间:2019-03-01 11:20:58

标签: php oauth oauth-2.0 access-token discord

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

mkl 2019.02-057

将用户引导至不和谐授权链接,然后返回至:

[1] "Unit = us, optimize = -1 means it is not processed by cmpfun"
       fun optimize JIT       mean
1     mean       -1   1   257.8620
2     mean       -1   0   263.3743
3     mean       -1   2   280.6906
4     mean       -1   3   291.8409
5  my_mean        2   0  5445.3252
6  my_mean        2   2  5462.4575
7  my_mean        3   3  5560.2931
8  my_mean       -1   1  5591.0089
9  my_mean        3   1  5645.3897
10 my_mean        3   0  5676.1714
11 my_mean        3   2  5707.7964
12 my_mean        2   3  5757.7887
13 my_mean       -1   3  5856.0215
14 my_mean       -1   2  5897.1735
15 my_mean        2   1  6363.1090
16 my_mean        1   2  9973.7666
17 my_mean        1   1 10557.8154
18 my_mean        1   0 10926.6103
19 my_mean        1   3 16030.0326
20 my_mean        0   0 27461.4078
21 my_mean        0   1 27939.7680
22 my_mean       -1   0 27985.4590
23 my_mean        0   3 30394.2772
24 my_mean        0   2 33768.5701

我正在通过XAMPP本地服务器在网站上工作,因此可以使用PHP,这就是为什么它是 <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>

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

我想要的

我希望能够获得用户的不和谐头像和用户名,因此为什么要使用标识范围(更多信息,请访问https://discordapp.com/developers/docs/topics/oauth2)。我想如果可以用PHP完成它,因为我不知道如何使用JSON和AJAX等语言以及所有其他语言,但是,如果这是唯一的方法,那就总比没有好。

收到访问令牌后,有人可以帮助我跟进吗?预先感谢!

1 个答案:

答案 0 :(得分:1)

如您所知PHP,您知道可以将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

相关问题