PHP调用Discord API查询用户ID信息遇405错误求助
解决Discord API返回405: Method Not Allowed的问题
你触发错误的核心原因是:Discord的/users/{user.id}查询接口要求使用GET请求,但你的代码里设置了CURLOPT_POST => true,强制用POST方法调用,这就导致了405方法不允许的错误,和机器人授权方式无关。
修正后的代码
$IDURL = "https://discord.com/api/v8/users/" . $UserID; $CurlInitID = curl_init(); curl_setopt_array( $CurlInitID, [ CURLOPT_URL => $IDURL, CURLOPT_HTTPGET => true, // 明确指定GET请求,或者直接删除CURLOPT_POST配置 CURLOPT_HTTPHEADER => [ "Authorization: Bot *private key removed*" ], CURLOPT_RETURNTRANSFER => true // 推荐添加,让响应返回给变量而非直接输出,方便后续处理 ]); $Return = curl_exec($CurlInitID); curl_close($CurlInitID); die($Return);
补充说明
- curl默认使用GET请求,所以你也可以直接删掉代码里的
CURLOPT_POST => true,效果完全一致。 - 加上
CURLOPT_RETURNTRANSFER => true后,你可以先对返回的JSON数据做解析、格式调整等处理,再输出,比直接die更灵活。
内容的提问来源于stack exchange,提问作者YoAvrageBiTz
相关产品推荐
相关产品推荐

