Objekte ändern und prüfen

Wie im Leitfaden zur API-Struktur erläutert, hat jede Ressource der obersten Ebene in der Google Ads API einen entsprechenden ressourcentypspezifischen Dienst, der Folgendes unterstützt:

  • Instanzen der Ressource ändern
  • Eine einzelne Instanz der Ressource zur Prüfung abrufen

In dieser Anleitung wird anhand von CampaignService gezeigt, wie Campaign-Objekte geändert und geprüft werden. Dieselben Konzepte gelten jedoch auch für alle anderen ressourcentypspezifischen Dienste.

Objekte ändern

Jeder ressourcentypspezifische Dienst hat eine mutate-Methode, die eine Mutationsanfrage akzeptiert. Diese Anfrage besteht aus:

  • Ein customerId
  • Eine Sammlung von Vorgängen
  • Eine Einstellung für den Inhaltstyp der Antwort, die festlegt, ob die veränderliche Ressource oder nur der Ressourcenname nach der Mutation zurückgegeben werden soll.

Die Methode MutateCampaigns von CampaignService akzeptiert beispielsweise einen MutateCampaignsRequest, der aus folgenden Elementen besteht:

  • Ein customerId
  • Eine Sammlung von CampaignOperation Objekten
  • Das Feld response_content_type, das den bevorzugten Antworttyp angibt.

Vorgänge

Mit einem Vorgangsobjekt wie einer CampaignOperation können Sie die Aktion angeben, die Sie auf einer einzelnen Ressource ausführen möchten, indem Sie das operation-Feld festlegen. Dieses Feld ist ein OneOf-Feld, das aus den folgenden Attributen besteht, deren Typ der Ressourcentyp ist:

create
Erstellt eine neue Instanz der Ressource.
update
Aktualisiert die Ressource so, dass sie den Attributen der update-Ressource entspricht. Wenn dieses Feld festgelegt ist, müssen Sie auch die update_mask des Vorgangs festlegen. Damit wird der Google Ads API mitgeteilt, welche Attribute beim Aktualisierungsvorgang geändert werden sollen. Jede Clientbibliothek hat eine Dienstprogramm- oder Hilfsmethode, mit der die update_mask für Sie generiert wird, wie in unseren Clientbibliotheken gezeigt.
remove
Die Ressource wird entfernt.

Da das operation-Feld ein oneof-Feld ist, können Sie mit einem einzigen Vorgang nicht mehrere Objekte ändern. Wenn Sie beispielsweise eine Kampagne erstellen und eine andere entfernen möchten, fügen Sie Ihrer Anfrage zwei Instanzen von CampaignOperation hinzu: eine mit create und eine mit remove.

Batchvorgänge

Ein einzelner Vorgang kann zwar nur eine einzelne Ressource erstellen, aktualisieren oder entfernen, eine einzelne Änderungsanfrage kann jedoch mehrere Vorgänge enthalten. Sie sollten Ihre Vorgänge in einer einzigen Mutanfrage kombinieren, anstatt mehrere Mutanfragen zu senden, die jeweils einen einzelnen Vorgang enthalten.

Wenn Sie beispielsweise zehn Kampagnen erstellen möchten, sollten Sie eine einzelne MutateCampaignsRequest mit zehn CampaignOperation-Objekten senden.

Antworten ändern

Was in der Antwort zurückgegeben wird, hängt davon ab, was in der response_content_type der Mutate-Anfrage gesendet wurde. Wenn beispielsweise MUTABLE_RESOURCE angegeben wurde, enthält die Antwort nur die bearbeitbaren Felder in der Kampagne. Sie können dann weitere Änderungen an diesem Ressourcenobjekt vornehmen, ohne es neu erstellen zu müssen.

Fehler beim Mutieren

Die Vorgänge in einer bestimmten Anfrage zum Ändern werden nur auf Ihr Google Ads-Konto angewendet, wenn alle Vorgänge in der Anfrage erfolgreich sind. Im Leitfaden zu häufigen Fehlern findest du eine Liste häufiger Fehler und Informationen dazu, wie du sie beheben kannst.

Objekte mit get prüfen (eingestellt)

Zusätzlich zum Ändern von Objekten bietet jeder ressourcentypspezifische Dienst auch eine get-Methode zum Abrufen aller Attribute einer einzelnen Ressource. Bei dieser Methode wird eine Get-Anfrage akzeptiert, deren einziges Attribut resource_name ist.

Die Get-Methoden sind eine praktische Funktion der Google Ads API, mit der alle Attribute eines einzelnen Objekts abgerufen werden können. Dies ist ein hervorragendes Tool, um die API kennenzulernen oder ein einzelnes Objekt zu debuggen oder zu Bildungszwecken zu untersuchen. In Ihrer App sollten jedoch keine Get-Methoden verwendet werden, um Objekte zur Verarbeitung oder Berichterstellung abzurufen. Verwenden Sie stattdessen GoogleAdsService, da Sie damit nur bestimmte Attribute von Objekten abrufen, Leistungsmesswerte abrufen und große Ergebnismengen streamen können. Wenn Ihre App eine große Anzahl von Get-Anfragen sendet, kann es zu Ratelimits kommen.