Discord 使用 php curl 获取公会成员列表

Posted

技术标签:

【中文标题】Discord 使用 php curl 获取公会成员列表【英文标题】:Discord get guild member list with php curl 【发布时间】:2018-09-16 11:53:35 【问题描述】:

我正在使用socialite 获取访问令牌:

return Socialite::driver('discord')
->scopes(['email', 'identify', 'connections', 'guilds', 'rpc.api', 
'guilds.join'])
->redirect();

回调 url 为我提供了详细信息,因为没有朋友列表 API 调用,我试图获取带有成员详细信息的公会用户列表,为此我使用 curl:

$authToken ="MYTOKEN";
$url="https://discordapp.com/api/v6/users/@me/guilds";

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL            => $url,
    CURLOPT_HTTPHEADER     => array('Authorization: Bearer '.$authToken),
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_FOLLOWLOCATION => 1,
    CURLOPT_VERBOSE        => 1,
    CURLOPT_SSL_VERIFYPEER => 0,
));
$response = curl_exec($ch);
curl_close($ch); 

API 调用运行良好,并为我提供了带有 id 的行会列表。例如,其中一个 id 是 431731422857003020,但是当我尝试使用 curl 对 get list of members 进行另一个 API 调用时

$url="https://discordapp.com/api/v6/guilds/431731422857003020/members";

它给了我这个错误: "code": 0, "message": "401: Unauthorized"

我不确定是因为我应该使用不同的方法来获取成员列表还是应该添加不同的范围,我到处搜索,但没有看到任何关于 discord scopes 的适当文档

【问题讨论】:

我认为您无权检索成员的基本信息,有关该端点的文档并不完全清楚。 我在范围内获得公会和 guilds.join 权限,我找不到任何其他范围名称来获取公会成员列表 【参考方案1】:

你应该这样设置标题:Authorization: Bot BOT_TOKEN

【讨论】:

以上是关于Discord 使用 php curl 获取公会成员列表的主要内容,如果未能解决你的问题,请参考以下文章

如何获取大型公会 discord.js 的所有成员

如何获取公会 Discord.js 中的成员列表

Discord OAuth2 从确切的公会获取用户角色

试图获取公会中的所有成员(discord.py 重写)

Discord.js guildCreate/guildDelete 事件无法获取新公会的所有者标签

discord php curl登录失败