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 发布表单的主要内容,如果未能解决你的问题,请参考以下文章

Gravity Forms - 将字段条目显示为实时预览

php 重力Wiz //重力形式//通过[gravityforms]短代码自定义字段属性

根据复选框或选择创建第二个条目 - 重力形式

通过 k8s 代理访问 Grafana API

Docker配置找不到现有文件?

Gravity Forms 文件上传导致 WordPress Admin 出现 404