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

Google reCaptcha Enterprise创建评估请求返回‘Request contains an invalid argument’错误求助

Google reCaptcha Enterprise创建评估请求返回‘Request contains an invalid argument’错误求助

嘿,我之前在集成reCaptcha Enterprise时也碰到过一模一样的错误,大概率是这几个地方出了问题,你可以逐一排查:

1. 前端data-action与后端expectedAction不匹配(最可能的原因)

看你的代码,前端按钮的data-action设的是submit,但后端请求里的expectedAction写的是LOGIN——这两个值必须完全一致!reCaptcha Enterprise会验证token对应的动作和你评估请求里的动作是否匹配,不匹配就会直接返回INVALID_ARGUMENT错误。

解决方法二选一就行:

  • 把后端的expectedAction改成和前端一致的submit:
$data = [
    'event' => [
        'token' => $token,
        'siteKey' => RECAPTCHAKEY,
        'expectedAction' => 'submit' // 和前端data-action保持一致
    ]
];
  • 或者把前端按钮的data-action改成LOGIN:
<button class="g-recaptcha btn btn-primary"
data-sitekey="<?php echo RECAPTCHAKEY; ?>"
data-callback='onSubmit'
data-action='LOGIN'><?php echo $lan->getValue('login'); ?></button>

2. 确认请求URL是否正确

reCaptcha Enterprise的评估API端点是和你的GCP项目绑定的,格式应该是:

https://recaptchaenterprise.googleapis.com/v1/projects/[你的GCP项目ID]/assessments?key=[你的API密钥]

如果你的$url变量里的项目ID、API密钥填错了,或者用了普通reCaptcha的API地址,也会触发这个错误。可以检查下GCP控制台里的项目配置,确保URL参数都正确。

3. 验证token的有效性

  • 确保前端传递的g-recaptcha-response token没有被篡改,而且是新鲜生成的(reCaptcha token有效期只有2分钟,过期后也会报错)。
  • 另外,确认你的siteKey是reCaptcha Enterprise的密钥,不是普通reCaptcha v2/v3的密钥,两者不通用。

你可以先试试调整action匹配的问题,这个是最常见的触发原因,应该能解决你的问题~

备注:内容来源于stack exchange,提问作者Gunnarius

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 13:17:40