Comme indiqué dans le guide relatif à la structure de l'API, chaque ressource de premier niveau de l'API Google Ads est associée à un service spécifique au type de ressource qui est compatible avec:
- Modifier les instances de la ressource
- Récupérer une seule instance de la ressource pour inspection
Ce guide utilise CampaignService
pour illustrer la modification et l'inspection d'objets Campaign
, mais les mêmes concepts s'appliquent à tous les autres services spécifiques à un type de ressource.
Modifier des objets
Chaque service spécifique au type de ressource possède une méthode mutate qui accepte les requêtes mutate. Cette demande comprend les éléments suivants:
- Une chaîne (
customerId
) - Un ensemble d'opérations
- Paramètre de type de contenu de la réponse qui détermine si la ressource modifiable ou uniquement le nom de la ressource doit être renvoyée après la mutation.
Par exemple, la méthode MutateCampaigns
de CampaignService
accepte un élément MutateCampaignsRequest
composé des éléments suivants:
- Une chaîne (
customerId
) - Une collection d'objets
CampaignOperation
- Le champ
response_content_type
indiquant le type de réponse préféré.
Opérations
Un objet d'opération tel que CampaignOperation
vous permet de spécifier l'action que vous souhaitez effectuer sur une seule ressource en définissant son champ operation
. Ce champ est un champ oneof comprenant les attributs suivants, dont le type correspond au type de ressource:
create
- Crée une instance de la ressource.
update
- Met à jour la ressource pour qu'elle corresponde aux attributs de la ressource
update
. Lorsque ce champ est défini, vous devez également définir l'update_mask
de l'opération, qui indique à l'API Google Ads les attributs à modifier lors de l'opération de mise à jour. Chaque bibliothèque cliente dispose d'un utilitaire ou d'une méthode d'assistance qui va générer leupdate_mask
pour vous, comme indiqué dans nos bibliothèques clientes. remove
- Supprime la ressource.
Étant donné que le champ operation
est un champ oneof
, vous ne pouvez pas modifier plusieurs objets à l'aide d'une seule opération. Par exemple, si vous souhaitez créer une campagne et en supprimer une autre, ajoutez deux instances de CampaignOperation
à votre demande: l'une avec create
défini et l'autre avec remove
défini.
Opérations de traitement par lot
Bien qu'une seule opération puisse uniquement créer, mettre à jour ou supprimer une seule ressource, une seule demande mutate peut contenir plusieurs opérations. Vous devez combiner vos opérations dans une seule demande de mutation au lieu d'envoyer plusieurs demandes mutate contenant chacune une seule opération.
Par exemple, si vous souhaitez créer 10 campagnes, vous devez envoyer un seul MutateCampaignsRequest
comportant 10 objets CampaignOperation
.
Modifier les réponses
Le contenu renvoyé dans la réponse dépend de ce qui a été envoyé dans le champ response_content_type
de la requête mutate. Par exemple, si MUTABLE_RESOURCE
est spécifié, la réponse ne contient que les champs modifiables de la campagne. Vous pouvez ensuite effectuer des modifications de suivi sur cet objet ressource sans avoir à le reconstruire.
Erreurs de mutation
Les opérations d'une demande de mutation donnée ne seront appliquées à votre compte Google Ads que si chaque opération de la demande aboutit. Consultez le guide des erreurs courantes pour obtenir la liste des erreurs courantes et savoir comment les résoudre.
Inspecter des objets avec get (obsolète)
En plus de modifier les objets, chaque service spécifique au type de ressource dispose également d'une méthode get permettant de récupérer tous les attributs d'une seule ressource.
Cette méthode accepte une requête get dont le seul attribut est resource_name
.
Les méthodes get sont une pratique proposée par l'API Google Ads pour faciliter la récupération de tous les attributs d'un même objet. Bien qu'il s'agisse d'un excellent outil pour apprendre l'API ou inspecter un objet individuel à des fins de débogage ou d'enseignement, votre application ne doit pas utiliser de méthodes get pour récupérer des objets à des fins de traitement ou de création de rapports. Utilisez plutôt GoogleAdsService
, car il vous permet de ne récupérer que des attributs spécifiques d'objets, de récupérer des métriques de performances et d'effectuer des flux via des ensembles de résultats volumineux. Si votre application envoie un grand nombre de requêtes get, vous pouvez rencontrer des limites de débit.