Modification et inspection d'objets

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 le update_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.