Le code source dans src/Google/Ads/GoogleAds/vX
Répertoire de la bibliothèque cliente PHP de l'API Google Ads, où X correspond à l'API Google Ads
est générée automatiquement à l'aide du client GAPIC (Generated API Client)
Générateur, basé sur la version publiée
fichier .proto
fichiers.
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
Les 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, il existe plusieurs façons de créer un objet de requête.
car certains clients disposent également d'une méthode pratique nommée build() pour transmettre
obligatoires.
Exemple 1.1: Méthodes avec paramètres obligatoires
L'exemple de code suivant montre comment appeler CampaignService::mutate(). Tout
($customerId et $operations) sont obligatoires. Par conséquent,
build(), qui accepte les deux paramètres, est 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]) ]) );