Esta página se ha traducido con Cloud Translation API.
Switch to English

Crea una evaluación

Esta página explica cómo evaluar el token de respuesta reCAPTCHA de un usuario desde el backend de tu aplicación.

Para los usuarios web, puedes obtener el token de respuesta del usuario de una de estas maneras:

  • El valor resuelto de la promesa mostrada por la llamada a grecaptcha.enterprise.execute
  • g-recaptcha-response parámetro POST cuando el usuario envía el formulario en tu sitio
  • Como argumento de string para tu función de devolución de llamada si data-callback se especifica en el atributo de etiqueta g-recaptcha, o el parámetro de devolución de llamada en el método grecaptcha.enterprise.render

Cada token de respuesta de usuario de reCAPTCHA solo se puede evaluar una vez. Si necesitas evaluar una acción posterior que realiza el usuario en tu sitio, o si caduca un token antes de que se pueda crear una evaluación, deberás llamar de nuevo a grecaptcha.enterprise.execute() para generar un token nuevo.

Solicitud a la API

Crea una evaluación mediante el método projects.assessments.create.

Antes de usar cualquiera de los datos de solicitud siguientes, realiza estos reemplazos:

  • project-id: Es el ID del proyecto de GCP.
  • token: Token que se muestra a partir de la llamada grecaptcha.enterprise.execute()
  • key: clave reCAPTCHA asociada con el sitio/aplicación

Método HTTP y URL:

POST https://recaptchaenterprise.googleapis.com/v1/projects/project-id/assessments

Cuerpo JSON de la solicitud:

{
  "event": {
    "token": "token",
    "siteKey": "key"
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://recaptchaenterprise.googleapis.com/v1/projects/project-id/assessments

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/project-id/assessments" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "tokenProperties": {
    "valid": true,
    "hostname": "www.google.com",
    "action": "homepage",
    "createTime": "2019-03-28T12:24:17.894Z"
   },
  "riskAnalysis": {
    "score": 0.1,
    "reasons": ["AUTOMATION"]
  },
  "event": {
    "token": "token",
    "siteKey": "key"
   },
  "name": "projects/project-id/assessments/b6ac310000000000"
}

¿Qué sigue?