我正在使用socialite来获取访问令牌:
return Socialite::driver('discord')
->scopes(['email', 'identify', 'connections', 'guilds', 'rpc.api',
'guilds.join'])
->redirect();
回调网址正在向我提供详细信息,因为没有朋友列表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进行另一个API调用get list of members时
$url="https://discordapp.com/api/v6/guilds/431731422857003020/members";
它给了我这个错误:
{"code": 0, "message": "401: Unauthorized"}
我不确定是不是因为我应该使用不同的方法来获取成员列表,或者我应该添加不同的范围,我到处搜索,但没有看到任何关于discord scopes的正确文档
答案 0 :(得分:0)
您应该这样设置标题:Authorization: Bot {BOT_TOKEN}