Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过使用用户的令牌获取有关用户的信息_Php_Discord - Fatal编程技术网

Php 如何通过使用用户的令牌获取有关用户的信息

Php 如何通过使用用户的令牌获取有关用户的信息,php,discord,Php,Discord,如何获得用户授权后的一些信息,我需要获得他的服务器列表。我正在使用RestCord和oauth2 discord新库,但这些库不允许这样做。如何使用php实现这一点 UPD: 我尝试的是: $provider = $discord->provider; if (!Yii::$app->request->get('code')) { $options = [ 'scope' => ['identify', 'email', 'guilds']

如何获得用户授权后的一些信息,我需要获得他的服务器列表。我正在使用RestCord和oauth2 discord新库,但这些库不允许这样做。如何使用php实现这一点

UPD: 我尝试的是:

$provider = $discord->provider;
if (!Yii::$app->request->get('code')) {
    $options = [
        'scope' => ['identify', 'email', 'guilds']
    ];
    $authUrl = $provider->getAuthorizationUrl($options);
    return $this->redirect($authUrl);
} else {
    $token = $provider->getAccessToken('authorization_code', [
        'code' => Yii::$app->request->get('code')
    ]);
    $discord = new DiscordClient(['token' => $token->getToken()]);
    $discord->user->getCurrentUser([]); // Return 401 UNAUTHORIZED
}

我查看了restcord的源代码。还发现了参数
tokenType
。关于它,文档中没有任何内容,但是如果您在OAuth中安装它,那么库将在用户模式下工作,而不是bot。如何正确使用它:

$discord = new DiscordClient([
    'token' => 'userToken', 
    'tokenType' => 'OAuth'
]);

我花了很多时间寻找这个问题的解决方案,我很惊讶这个参数没有写在官方文档中。我希望这能节省你的时间

要诊断这个问题,确实会丢失无限多的信息。@MatheusReis,这里不需要我的代码(但我仍然更新了这个问题),因为这个问题与restcord文档更相关。我不是要你为我写代码,但我只是想知道在哪里可以看到示例,如果当前的示例没有提供这样的机会,我还可以使用哪些库。是的,到2020年仍然如此。文档中未提及
tokenType
参数。添加了
'tokenType'=>'OAuth'
,现在我可以检索用户详细信息了。非常感谢。