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 utworzenia klientów usługi, którzy współpracują z interfejsem Google Ads API za pomocą klasy GoogleAdsClient, która jest tworzona przez wywołanie funkcji GoogleAdsClientBuilder::build(). Zarówno GoogleAdsClient, jak i GoogleAdsClientBuilder to ręcznie utworzone zajęcia 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

Ten przykładowy kod pokazuje, jak wywołać funkcję CampaignService::mutate(). Wszystkie ($customerId i $operations) są wymaganymi parametrami, więc parametr W kodzie generowany jest kod 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 np. wygenerowany w kodzie element build() akceptuje tylko 2 parametry ($customerId i $query), bo są to parametry wymagane. Aby przesłać prośbę o łączna liczba wyników pasujących do zapytania z ignorowaniem klauzuli LIMIT, musisz ją ustawić bezpośrednio za pomocą setReturnTotalResultsCount(). Ewentualnie możesz przekazać wszystkie parametry do konstruktora SearchGoogleAdsRequest, na przykład dla wzorca 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 opcjonalnymi parametrami

Ten przykład pokazuje, jak wywołać funkcję GeoTargetConstantServiceClient::suggestGeoTargetConstants(). Ponieważ wszystkie parametru GeoTargetConstantServiceClient::suggestGeoTargetConstants() to opcjonalnie, w tym przypadku parametr build() nie jest generowany w kodzie źródłowym. 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])
    ])
);