Grundlegende Nutzung

In diesem Leitfaden werden die Grundlagen der Verwendung der Perl-Clientbibliothek für die Google Ads API erläutert.

Client initialisieren

Erstellen Sie eine Instanz von Google::Ads::GoogleAds::Client, um die Bibliothek zu verwenden. Der Client kann auf verschiedene Arten konfiguriert werden, wie im Konfigurationsleitfaden beschrieben. Ein häufiger Ansatz ist die Verwendung einer googleads.properties-Datei:

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

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

Dienste erstellen

Nachdem der Client initialisiert wurde, können Sie Instanzen der verschiedenen API-Dienste erstellen. Wenn Sie beispielsweise mit Kampagnen interagieren möchten, erstellen Sie eine CampaignService-Instanz:

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

API aufrufen

Hier ist ein Beispiel für einen API-Aufruf zum Abrufen von Kampagnen. In diesem Snippet wird gezeigt, wie Sie den Client initialisieren, einen Dienst erstellen und eine Methode aufrufen.

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::V25::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::V25::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};
}

Fehler verarbeiten

API-Aufrufe können zu Ausnahmen führen. Sie sollten Ihre API-Aufrufe in eval-Blöcke einschließen, um Google::Ads::GoogleAds::GoogleAdsException abzufangen und zu verarbeiten.

use strict;
use warnings;
use Google::Ads::GoogleAds::Client;
use Google::Ads::GoogleAds::GoogleAdsException;
use Google::Ads::GoogleAds::V25::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::V25::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";
    }
}

Weitere Beispiele ansehen

In den Beispielen finden Sie mehrere nützliche Codebeispiele. Für die meisten Beispiele sind Parameter erforderlich. Sie können die Parameter entweder als Argumente übergeben (empfohlen) oder die Werte INSERT_XXXXX_HERE im Quellcode bearbeiten. Wenn Sie eine Nutzungsanweisung für ein Beispiel sehen möchten, übergeben Sie -help als Befehlszeilenargument.

perl examples/basic_operations/get_campaigns.pl -help