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 dieupdate_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 dieupdate_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.