Lista GAPIC

Kod źródłowy w katalogu src/Google/Ads/GoogleAds/vX biblioteki klienta PHP interfejsu Google Ads API (gdzie X to wersja interfejsu Google Ads API) jest generowany automatycznie za pomocą Generatora GAPIC (wygenerowanego klienta interfejsu API) na podstawie opublikowanych plików proto.

Wygenerowany kod źródłowy jest następnie modyfikowany, aby zawierał odwołania do atrybutów i klas wymaganych do tworzenia klientów usługi, którzy współpracują z Google Ads API za pomocą klasy GoogleAdsClient, która jest tworzona przez wywołanie funkcji GoogleAdsClientBuilder::build(). Zarówno GoogleAdsClient, jak i GoogleAdsClientBuilder to zajęcia utworzone ręcznie, które znajdują się w src/Google/Ads/GoogleAds/Lib/vX/.

Wygenerowane lokalizacje zajęć

Przetworzone klienty usługi znajdują się w src/Google/Ads/GoogleAds/VX/Services/Client/.

Wykorzystanie

Musisz utworzyć obiekt żądania i przekazać go klientowi, którego chcesz użyć. W niektórych przypadkach masz więcej niż 1 sposób tworzenia obiektu żądania, ponieważ niektórzy klienci mają też do dyspozycji wygodną metodę o nazwie build() do przekazywania parametrów wymaganych.

Przykład 1.1. Metody z wymaganymi parametrami

Poniższy przykładowy kod pokazuje, jak wywołać funkcję CampaignService::mutate(). Wszystkie parametry ($customerId$operations) są wymagane, więc w kodzie generowany jest parametr build(), który akceptuje oba parametry.

Wzór 1

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
      $customerId,
      $campaignOperations
    )
);

Wzór 2

$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
    ->setCustomerId($customerId)
    ->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);

Przykład 1.2. Metody z wymaganymi i opcjonalnymi parametrami

Poniższy przykładowy kod wywołuje funkcję GoogleAdsServiceClient::search(). W tym przykładzie funkcja build() wygenerowana w kodzie akceptuje tylko 2 parametry ($customerId$query), ponieważ są to parametry wymagane. Aby uzyskać łączną liczbę wyników pasujących do zapytania, ignorując klauzulę LIMIT, musisz ją jawnie ustawić za pomocą parametru setReturnTotalResultsCount(). Możesz też przekazać wszystkie parametry konstruktorowi klasy SearchGoogleAdsRequest, jak pokazano w wzorze 3.

Wzór 1

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);

Wzór 2

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);

Wzór 3

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest([
    'customer_id' => $customerId,
    'query' => $query,
    'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);

Przykład 2. Metody z tylko parametrami opcjonalnymi

Ten przykład pokazuje, jak wywołać funkcję GeoTargetConstantServiceClient::suggestGeoTargetConstants(). Ponieważ wszystkie parametry funkcji GeoTargetConstantServiceClient::suggestGeoTargetConstants() są opcjonalne, w tym przypadku funkcja build() nie jest generowana w źródle kodu – musisz samodzielnie utworzyć obiekt żądania.

Wzór 1

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
    ->setLocale($locale)
    ->setCountryCode($countryCode)
    ->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
    $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);

Wzór 2

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);