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