Uso básico

En esta guía, se explican los conceptos básicos para usar la biblioteca cliente de Perl para la API de Google Ads.

Inicializa el cliente

Para comenzar a usar la biblioteca, crea una instancia de Google::Ads::GoogleAds::Client. El cliente se puede configurar de varias maneras, como se detalla en la guía de configuración. Un enfoque común es usar un archivo googleads.properties:

use Google::Ads::GoogleAds::Client;

my $api_client = Google::Ads::GoogleAds::Client->new();

Crear un servicio

Una vez que se inicializa el cliente, puedes crear instancias de los distintos servicios de la API. Por ejemplo, para interactuar con las campañas, crearías una instancia de CampaignService:

my $campaign_service = $api_client->CampaignService();

Realiza una llamada a la API

A continuación, se muestra un ejemplo de cómo realizar una llamada a la API para obtener campañas. En este fragmento, se muestra cómo inicializar el cliente, crear un servicio y llamar a un método.

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::V22::Services::GoogleAdsService::SearchGoogleAdsRequest;

# Initialize the Google Ads client. See the [Configuration guide](configuration) for more options.
my $api_client = Google::Ads::GoogleAds::Client->new();

# Get the GoogleAdsService.
my $google_ads_service = $api_client->GoogleAdsService();

# Specify the customer ID and query.
my $customer_id = "INSERT_CUSTOMER_ID_HERE";
my $query = "SELECT campaign.name, campaign.status FROM campaign";

# Create a search request.
my $search_request = Google::Ads::GoogleAds::V22::Services::GoogleAdsService::SearchGoogleAdsRequest
    ->new({
    customerId => $customer_id,
    query      => $query
});

# Execute the search request.
my $search_response = $google_ads_service->search($search_request);

# Iterate over the results and print campaign names.
foreach my $google_ads_row (@{$search_response->{results}}) {
    printf "Campaign with resource name '%s' and name '%s'.\n",
        $google_ads_row->{campaign}->{resourceName},
        $google_ads_row->{campaign}->{name};
}

Soluciona errores

Las llamadas a la API pueden generar excepciones. Debes unir tus llamadas a la API en bloques eval para detectar y controlar Google::Ads::GoogleAds::GoogleAdsException.

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::GoogleAdsException;
use Google::Ads::GoogleAds::V22::Services::GoogleAdsService::SearchGoogleAdsRequest;

my $api_client = Google::Ads::GoogleAds::Client->new();
my $google_ads_service = $api_client->GoogleAdsService();
my $customer_id = "INSERT_CUSTOMER_ID_HERE";
my $query = "SELECT campaign.name, campaign.status FROM campaign";
my $search_request = Google::Ads::GoogleAds::V22::Services::GoogleAdsService::SearchGoogleAdsRequest->new({
    customerId => $customer_id,
    query      => $query
});

eval {
    my $search_response = $google_ads_service->search($search_request);
    # Process successful response.
    foreach my $google_ads_row (@{$search_response->{results}}) {
        printf "Campaign name: %s\n", $google_ads_row->{campaign}->{name};
    }
};
if ($@) {
    if (blessed($@) && $@->isa('Google::Ads::GoogleAds::GoogleAdsException')) {
        my $exception = $@;
        printf "A Google Ads exception occurred:\n";
        printf " Request ID: %s\n", $exception->get_request_id();
        foreach my $error (@{$exception->get_errors()}) {
            printf " Error code: %s\n", $error->{errorCode};
            printf " Message: %s\n", $error->{message};
        }
    } else {
        # Print other types of exceptions.
        print "An error occurred: $@\n";
    }
}

Explora otros ejemplos

Puedes encontrar varias muestras de código útiles en los ejemplos. La mayoría de los ejemplos requieren parámetros. Puedes pasar los parámetros como argumentos (opción recomendada) o editar los valores de INSERT_XXXXX_HERE en el código fuente. Para ver una declaración de uso de un ejemplo, pasa -help como argumento de línea de comandos.

perl examples/basic_operations/get_campaigns.pl -help