Получение ролей гильдии для пользователя с помощью Restcord и Wohali OAuth2 Discord Client

Нужна помощь,

Используя Wohali OAuth2 Client, затем Restcord, чтобы получить актуальный контент от зарегистрированного пользователя.

Но по какой-то причине я не могу получить список ролей для пользователя, вошедшего в систему.

Говорит «Сообщение: при выполнении команды listGuildMembers произошла ошибка: ошибка клиента: GET https://discordapp.com/api/v6/guilds/{guild_id} / members? limit = 1 привел к 401 НЕСАНКЦИОНИРОВАННОМУ ответу: «

Документации немного не хватает, и я потратил несколько часов, пытаясь разобраться в этом.

use RestCord\DiscordClient;

$provider = new \Wohali\OAuth2\Client\Provider\Discord([
'clientId' => '{client_id}',
'clientSecret' => '{client_secret}',
'redirectUri' => '{redirect_uri}'
]);

$options = ['state' => 'CUSTOM_STATE', 'scope' => ['identify', 'email', 'guilds']];

if (!isset($_GET['code'])) {

// Step 1. Get authorization code
$authUrl = $provider->getAuthorizationUrl($options);
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authUrl);

// Check given state against previously stored one to mitigate CSRF attack
} elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {

unset($_SESSION['oauth2state']);
exit('Invalid state');

} else {

// Step 2. Get an access token using the provided authorization code
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code']
]);
}

$user = $provider->getResourceOwner($token);

$client = new DiscordClient(['token' => $token->getToken(), 'tokenType' => 'OAuth']);

$roles = $client->guild->listGuildRoles(['guild.id' => {guild_id}]);

var_dump($roles);

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

Заранее спасибо за любые советы / помощь / идеи.

0

Решение

Вы можете просмотреть коды ответов на официальных документах по разногласиям:

https://discordapp.com/developers/docs/topics/opcodes-and-status-codes#http-http-response-codes

401 означает, что ваш токен плох / отсутствует

0

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

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

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