Le code source du répertoire src/Google/Ads/GoogleAds/vX
de la bibliothèque cliente PHP de l'API Google Ads, où X correspond à la version de l'API Google Ads, est généré automatiquement à l'aide du générateur GAPIC (Generated API Client), en fonction des fichiers proto publiés.
Le code source généré est ensuite modifié pour contenir des références aux traits et aux classes requis pour créer les clients de service compatibles avec l'API Google Ads à l'aide de la classe GoogleAdsClient
, qui est créée en appelant GoogleAdsClientBuilder::build()
. GoogleAdsClient
et GoogleAdsClientBuilder
sont des classes créées manuellement situées dans src/Google/Ads/GoogleAds/Lib/vX/
.
Emplacements des classes générés
Les clients de service post-traités se trouvent dans src/Google/Ads/GoogleAds/VX/Services/Client/
.
Utilisation
Vous devez créer un objet de requête et le transmettre au client que vous souhaitez utiliser.
Dans certains cas, vous pouvez créer un objet de requête de plusieurs manières, car certains clients disposent également d'une méthode pratique appelée build()
pour transmettre des paramètres obligatoires.
Exemple 1.1: Méthodes avec paramètres obligatoires
L'exemple de code suivant montre comment appeler CampaignService::mutate()
. Tous les paramètres ($customerId
et $operations
) sont obligatoires. Le build()
qui accepte les deux paramètres est donc généré dans le code.
Modèle 1
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build( $customerId, $campaignOperations ) );
Modèle 2
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $request = (new MutateCampaignsRequest()) ->setCustomerId($customerId) ->setCampaignOperations($campaignOperations); $response = $campaignServiceClient->mutateCampaigns($request);
Exemple 1.2: Méthodes avec paramètres obligatoires et facultatifs
L'exemple de code suivant appelle GoogleAdsServiceClient::search()
. Dans cet exemple, le build()
généré dans le code n'accepte que deux paramètres ($customerId
et $query
), car il s'agit de paramètres obligatoires. Pour demander le nombre total de résultats correspondant à la requête en ignorant la clause LIMIT
, vous devez la définir explicitement à l'aide de setReturnTotalResultsCount()
. Vous pouvez également transmettre tous les paramètres au constructeur de SearchGoogleAdsRequest
, comme illustré dans le modèle 3.
Modèle 1
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( SearchGoogleAdsRequest::build($customerId, $query) ->setReturnTotalResultsCount(true) );
Modèle 2
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest()) ->setCustomerId($customerId) ->setQuery($query) ->setReturnTotalResultsCount(true); $response = $googleAdsServiceClient->search($request);
Modèle 3
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest([ 'customer_id' => $customerId, 'query' => $query, 'return_total_results_count' => true ]); $response = $googleAdsServiceClient->search($request);
Exemple 2: Méthodes avec uniquement des paramètres facultatifs
Cet exemple montre comment appeler GeoTargetConstantServiceClient::suggestGeoTargetConstants()
. Étant donné que tous les paramètres de GeoTargetConstantServiceClient::suggestGeoTargetConstants()
sont facultatifs, build()
n'est pas généré dans le code source dans ce cas. Vous devez créer vous-même l'objet de requête.
Modèle 1
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $request = (new SuggestGeoTargetConstantsRequest()) ->setLocale($locale) ->setCountryCode($countryCode) ->setLocationNames(new LocationNames(['names' => $locationNames])); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
Modèle 2
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) );