Objekte ändern und prüfen

Wie im Leitfaden zur API-Struktur dargestellt, verfügt jede Ressource der obersten Ebene 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 demonstrieren. Dieselben Konzepte gelten jedoch auch für alle anderen ressourcentypspezifischen Dienste.

Objekte ändern

Jeder ressourcentypspezifische Dienst verfügt über 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 eine MutateCampaignsRequest, die aus folgenden Elementen besteht:

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

Operations

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

Da das Feld operation ein oneof-Feld ist, können Sie nicht mehrere Objekte mit einem einzigen Vorgang ä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.

Batch-Vorgänge

Ein einzelner Vorgang kann nur eine Ressource erstellen, aktualisieren oder entfernen. Eine einzelne Änderungsanfrage kann jedoch mehrere Vorgänge enthalten. Sie sollten Ihre Vorgänge in einer einzigen mutate-Anfrage kombinieren, anstatt mehrere Änderungsanfragen zu senden, die jeweils einen einzigen 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 im response_content_type der Änderungsanfrage gesendet wurde. Wenn beispielsweise MUTABLE_RESOURCE angegeben wurde, würde die Antwort nur die änderbaren Felder in der Kampagne enthalten. Sie können dann weitere Änderungen an diesem Ressourcenobjekt vornehmen, ohne es rekonstruieren zu müssen.

Änderungsfehler

Die Vorgänge in einer bestimmten Änderungsanfrage werden nur dann auf Ihr Google Ads-Konto angewendet, wenn jeder Vorgang in der Anfrage erfolgreich ist. Im Leitfaden zu häufigen Fehlern finden Sie eine Liste häufiger Fehler und erfahren, wie Sie sie beheben können.

Objekte mit get prüfen (eingestellt)

Neben dem Ändern von Objekten hat jeder ressourcentypspezifische Dienst auch eine get-Methode zum Abrufen aller Attribute einer einzelnen Ressource. Diese Methode akzeptiert eine get-Anfrage, deren einziges Attribut resource_name ist.

Die „get“-Methoden sind in der Google Ads API verfügbar, da sie das Abrufen aller Attribute eines einzelnen Objekts erleichtern. Obwohl dies ein großartiges Tool ist, um die API zu erlernen oder ein einzelnes Objekt zu Fehlerbehebungs- oder Bildungszwecken zu untersuchen, sollte Ihre App keine get-Methoden verwenden, um Objekte für die Verarbeitung oder Berichterstellung abzurufen. Verwenden Sie stattdessen GoogleAdsService. Damit können Sie nur bestimmte Attribute von Objekten abrufen, Leistungsmesswerte unterstützen und große Ergebnismengen streamen. Wenn Ihre Anwendung eine große Anzahl von GET-Anfragen sendet, können Ratenbegrenzungen auftreten.