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 denupdate_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, dasupdate_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.