GravityForms - 通过 GF API(后端)使用 Google Recaptcha 发布表单
Posted
技术标签:
【中文标题】GravityForms - 通过 GF API(后端)使用 Google Recaptcha 发布表单【英文标题】:GravityForms - Post form with Google Recaptcha via GF API (Backend) 【发布时间】:2020-12-20 05:17:20 【问题描述】:如何通过包含 Google Recap v2 Checkbox 的 GF API 提交 Gravity Form?
我有一个 api /post_signup_form 可以获取我的注册 (id = 2) 然后发布提交。现在,表单有 2 个字段,电子邮件和验证码字段。
来自Gravity Form Docs,下面是我必须通过 GFAPI 发布我的表单的内容。 recaptcha 字符串来自一个角度形式(使用 ng-recaptcha),它将提交到我网站的自定义 api 端点。
$input_values = [
'input_1' => 'test@email.com'
'input_2' => 'really_long_recap_string'
];
$result = GFAPI::submit_form( 2, $input_values );
现在,我只是在完成 Angular 应用程序中的复选框质询后发送令牌,但是,它总是返回 RECAPTCHA 是无效消息。我应该如何使用包含 google recaptcha 的 GFAPI 发布重力表单?
我是否需要在提交表单之前验证该令牌 (https://www.google.com/recaptcha/api/siteverify)?
【问题讨论】:
【参考方案1】:不是将 Google Recaptcha 与 Angular 应用程序集成,而是将条件逻辑添加到重力表单的 recaptcha 字段,以便在它是 Angular 应用程序时不显示。
由于条件逻辑,GFAPI 提交表单不再需要验证码字段。
【讨论】:
【参考方案2】:如果将来有人来这里寻找正确答案,Gravity Forms 正在寻找的是一个隐藏字段值“g-recaptcha-response”,其中填充了您从 ReCaptcha 验证响应中返回的令牌。
【讨论】:
以上是关于GravityForms - 通过 GF API(后端)使用 Google Recaptcha 发布表单的主要内容,如果未能解决你的问题,请参考以下文章