Как получить информацию о пользователе с помощью его токена

Как я могу получить некоторую информацию о пользователе после его авторизации, мне нужно получить список его серверов. Я использую библиотеки RestCord и oauth2-discord-new, но эти библиотеки не позволяют этого. Как это сделать с помощью 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
}

-4

Решение

Я посмотрел на исходный код restcord. Также нашел там параметр tokenType, Об этом ничего не написано в документации, но если вы установите его в OAuth, то библиотека будет работать в режиме пользователя, а не в боте. Как правильно его использовать:

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

Я потратил много времени в поисках решения этой проблемы, и я был очень удивлен, что этот параметр не записан в официальной документации. Я надеюсь, что это сэкономит вам время!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector