Obtenir les métriques clés d'un site reCAPTCHA

Obtenez des métriques spécifiques à une clé de site reCAPTCHA.

Exemple de code

Java

Pour vous authentifier auprès de reCAPTCHA Enterprise, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.


import com.google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseServiceClient;
import com.google.recaptchaenterprise.v1.GetMetricsRequest;
import com.google.recaptchaenterprise.v1.Metrics;
import com.google.recaptchaenterprise.v1.MetricsName;
import com.google.recaptchaenterprise.v1.ScoreMetrics;
import java.io.IOException;

public class GetMetrics {

  public static void main(String[] args) throws IOException {
    String projectId = "project-id";
    String recaptchaSiteKey = "recaptcha-site-key";

    getMetrics(projectId, recaptchaSiteKey);
  }

  /**
   * Get metrics specific to a recaptcha site key. E.g: score bucket count for a key or number of
   * times the checkbox key failed/ passed etc.,
   *
   * @param projectId: Google Cloud Project Id.
   * @param recaptchaSiteKey: Specify the site key to get metrics.
   */
  public static void getMetrics(String projectId, String recaptchaSiteKey) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `client.close()` method on the client to safely
    // clean up any remaining background resources.
    try (RecaptchaEnterpriseServiceClient client = RecaptchaEnterpriseServiceClient.create()) {

      GetMetricsRequest getMetricsRequest =
          GetMetricsRequest.newBuilder()
              .setName(MetricsName.of(projectId, recaptchaSiteKey).toString())
              .build();

      Metrics response = client.getMetrics(getMetricsRequest);

      // Retrieve the metrics you want from the key.
      // If the site key is checkbox type: then use response.getChallengeMetricsList() instead of
      // response.getScoreMetricsList()
      for (ScoreMetrics scoreMetrics : response.getScoreMetricsList()) {
        // Each ScoreMetrics is in the granularity of one day.
        int scoreBucketCount = scoreMetrics.getOverallMetrics().getScoreBucketsCount();
        System.out.println(scoreBucketCount);
      }
      System.out.printf("Retrieved the bucket count for score based key: %s", recaptchaSiteKey);
    }
  }
}

Python

Pour vous authentifier auprès de reCAPTCHA Enterprise, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import recaptchaenterprise_v1

def get_metrics(project_id: str, recaptcha_site_key: str) -> None:
    """Get metrics specific to a recaptcha site key.
        E.g: score bucket count for a key or number of
        times the checkbox key failed/ passed etc.,
    Args:
    project_id: Google Cloud Project ID.
    recaptcha_site_key: Specify the site key to get metrics.
    """

    client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient()

    metrics_name = f"projects/{project_id}/keys/{recaptcha_site_key}/metrics"
    request = recaptchaenterprise_v1.GetMetricsRequest()
    request.name = metrics_name

    response = client.get_metrics(request)

    # Retrieve the metrics you want from the key.
    # If the site key is checkbox type: then use response.challenge_metrics
    # instead of response.score_metrics
    for day_metric in response.score_metrics:
        # Each 'day_metric' is in the granularity of one day.
        score_bucket_count = day_metric.overall_metrics.score_buckets
        print(score_bucket_count)

    print(f"Retrieved the bucket count for score based key: {recaptcha_site_key}")

Ruby

Pour vous authentifier auprès de reCAPTCHA Enterprise, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

require "google/cloud/recaptcha_enterprise"

#  Get metrics specific to a recaptcha site key.
#  E.g: score bucket count for a key or number of
#  times the checkbox key failed/ passed etc.,
#
# @param project_id [String] GCloud Project ID.
# @param site_key [String] Site key to be updated.
# @return [void]
def get_metrics_site_key project_id:, site_key:
  # Create the reCAPTCHA client.
  client = ::Google::Cloud::RecaptchaEnterprise.recaptcha_enterprise_service

  response = client.get_metrics name: "projects/#{project_id}/keys/#{site_key}/metrics"

  # Retrieve the metrics you want from the key.
  # If the site key is checkbox type: then use response.challenge_metrics
  # instead of response.score_metrics
  puts "Retrieved the bucket count for score based key: #{site_key}"
  response.score_metrics.each do |day_metric|
    # Each 'day_metric' is in the granularity of one day.
    score_bucket_count = day_metric.overall_metrics.score_buckets
    puts score_bucket_count.inspect
  end
end

Étapes suivantes

Pour rechercher et filtrer des exemples de code pour d'autres produits Google Cloud, consultez l'exemple de navigateur Google Cloud.