You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网站脚本调用Discord /api/v9/auth/login接口遇400错误排查

解决Discord登录接口captcha_key类型转换错误问题

错误信息翻译与分析

你收到的400错误对应的中文信息为:

{message: "无效的表单文本", code: 50035,…}
code: 50035
errors: {captcha_key: {_errors: [{code: "STRING_TYPE_CONVERT",…}]}}
captcha_key: {_errors: [{code: "STRING_TYPE_CONVERT",…}]}
message: "无效的表单文本"

核心问题是captcha_key字段存在字符串类型转换失败的问题——Discord登录接口要求该字段必须是合法字符串,但你提交的内容不符合格式要求。

排查及修复步骤

  • 确认hCaptcha响应值的正确获取:从hCaptcha回调中拿到的必须是response字符串,而非其他格式。示例代码:
    hcaptcha.render('hcaptcha-container', {
      sitekey: '你的站点密钥',
      callback: function(response) {
        // 将验证码响应字符串赋值给表单字段
        document.querySelector('[name="captcha_key"]').value = response;
      }
    });
    
  • 验证提交前的字段类型:提交表单前检查captcha_key的值是否为非空字符串,避免传入null、undefined或对象:
    const captchaVal = document.querySelector('[name="captcha_key"]').value;
    if (typeof captchaVal !== 'string' || captchaVal.trim() === '') {
      alert('验证码未正确验证,请重试');
      return false;
    }
    
  • 核对请求格式:如果用AJAX提交,确保请求体格式为application/x-www-form-urlencoded或multipart/form-data,且captcha_key参数是纯字符串;若用JSON提交,需保证该字段被正确序列化为字符串类型。
  • 检查字段名拼写:确认表单字段的name属性严格为captcha_key,Discord接口对字段名大小写敏感。

内容的提问来源于stack exchange,提问作者Digitas Merero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:20:58