Objekte ändern und prüfen

Wie im Leitfaden zur API-Struktur erläutert, verfügt jede übergeordnete Ressource in der Google Ads API über einen entsprechenden ressourcentypspezifischen Dienst, der Folgendes unterstützt:

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

In diesem Leitfaden wird CampaignService verwendet, um das Ändern und Prüfen von Campaign-Objekten zu zeigen. Die gleichen Konzepte gelten aber auch für alle anderen ressourcentypspezifischen Dienste.

Objekte ändern

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

  • Ein customerId
  • Eine Sammlung von Vorgängen
  • Eine Einstellung für den Antwortinhaltstyp, die bestimmt, ob die änderbare Ressource oder nur der Ressourcenname nach der Mutation zurückgegeben werden soll.

Die Methode MutateCampaigns von CampaignService akzeptiert beispielsweise MutateCampaignsRequest mit:

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

Operations

Mit einem Vorgangsobjekt wie einem CampaignOperation können Sie die Aktion angeben, die Sie für eine einzelne Ressource ausführen möchten. Dazu legen Sie das entsprechende Feld operation fest. 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, damit sie mit den Attributen der Ressource update übereinstimmt. Wenn dieses Feld festgelegt ist, müssen Sie auch den update_mask des Vorgangs festlegen. Dadurch wird der Google Ads API mitgeteilt, welche Attribute während des Aktualisierungsvorgangs geändert werden sollen. Jede Clientbibliothek hat ein Dienstprogramm oder eine Hilfsmethode, die die update_mask für dich generiert, wie in unseren Clientbibliotheken gezeigt.
remove
Entfernt die Ressource.

Da das Feld operation ein oneof-Feld ist, können Sie nicht mit einem einzigen Vorgang 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 dem Wert create und eine mit remove.

Batchvorgänge

Obwohl mit einem einzigen Vorgang nur eine einzelne Ressource erstellt, aktualisiert oder entfernt werden kann, kann eine einzelne mutate-Anfrage mehrere Vorgänge enthalten. Sie sollten Ihre Vorgänge in einer einzigen mutate-Anfrage kombinieren, anstatt mehrere mutate-Anfragen 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.

Änderung der Antworten

Was in der Antwort zurückgegeben wird, hängt davon ab, was im response_content_type der mutate-Anfrage gesendet wurde. Wenn beispielsweise MUTABLE_RESOURCE angegeben ist, enthält die response nur die änderbaren Felder in der Kampagne. Sie können dann nachfolgende Änderungen an diesem Ressourcenobjekt vornehmen, ohne es rekonstruieren zu müssen.

Änderungsfehler

Die Vorgänge in einer mutate-Anfrage werden nur dann auf Ihr Google Ads-Konto angewendet, wenn alle Vorgänge in der Anfrage erfolgreich sind. Im Leitfaden zu häufigen Fehlern finden Sie eine Liste häufiger Fehler und erfahren, wie Sie diese beheben können.

Objekte mit get überprüfen (verworfen)

Zusätzlich zu den geänderten Objekten verfügt jeder ressourcentypspezifische Dienst auch über eine get-Methode zum Abrufen aller Attribute einer einzelnen Ressource. Diese Methode akzeptiert eine get-Anfrage mit dem einzigen Attribut resource_name.

Die get-Methoden sind eine praktische Funktion der Google Ads API, mit der Sie ganz einfach alle Attribute eines einzelnen Objekts abrufen können. Obwohl dies ein großartiges Tool ist, um die API zu erlernen oder ein einzelnes Objekt zu Debugging- oder Bildungszwecken zu untersuchen, sollte Ihre App keine get-Methoden verwenden, um Objekte für die Verarbeitung oder Berichterstellung abzurufen. Verwenden Sie stattdessen GoogleAdsService. Sie können damit nur bestimmte Attribute von Objekten abrufen, Leistungsmesswerte abrufen und große Ergebnismengen streamen. Wenn Ihre Anwendung eine große Anzahl von "get"-Anfragen sendet, können Ratenbegrenzungen auftreten.