跳到主要内容

MISSING_REQUIRED_PARAM

遇到错误?使用 AI 工具协助排查

错误原因

客户端缺少必填参数。这是 4xx 前端入参问题,不是短信/邮件通道未配置。

SDK 对应 error.code === "missing_required_param"errorCode 4000)。error.message 会带上调用点与参数路径,例如:

auth.verifyOtp(params): missing required param 'messageId'

发生阶段

阶段触发方法常见缺参
发码signInWithOtp / signUp / getVerification未传 emailphone
校验独立 auth.verifyOtp未传 messageId

不要把本错误理解成「发送验证码时后端邮件任务缺 ID」。独立 verifyOtp 报缺 messageId,说明前端校验阶段没把发码返回的 ID 传回去。

解决方案

  1. 阅读 error.message,按其中的方法名和参数路径补齐字段。
  2. 校验阶段缺 messageId
    • 若走 getVerification 发码:把返回的 verification_id 作为 params.messageId 传入 auth.verifyOtp
    • 推荐改用 signInWithOtp / signUp 返回的 data.verifyOtp({ token }),SDK 已缓存 messageId,不必再传。
  3. 发码阶段缺 email/phone:补上其中一个,不要同时为空。
  4. error.codeunimplemented / internal(5xx),才是通道或服务端配置问题,请去控制台检查短信/邮件登录是否已开启。