Wie in der Anleitung zur API-Struktur beschrieben, hat jede Ressource der obersten Ebene in der Google Ads API einen entsprechenden dienstspezifischen Ressourcentyp, der das Ändern von Instanzen der Ressource unterstützt.
In dieser Anleitung wird CampaignService verwendet, um die Änderung von Campaign-Objekten zu demonstrieren. Die gleichen Konzepte gelten jedoch für alle anderen ressourcentypspezifischen Dienste.
Objekte ändern
Jeder dienstspezifische Dienst für einen Ressourcentyp hat eine mutate-Methode, die eine Mutationsanfrage akzeptiert. Diese Anfrage umfasst:
- Ein
customerId - Eine Sammlung von Vorgängen
- Eine Einstellung für den Antwort-Content-Type, die bestimmt, ob nach der Änderung die veränderliche Ressource oder nur der Ressourcenname zurückgegeben werden soll.
Die Methode MutateCampaigns von CampaignService akzeptiert beispielsweise ein MutateCampaignsRequest, das aus Folgendem besteht:
- Ein
customerId - Eine Sammlung von
CampaignOperation-Objekten - Das Feld
response_content_typegibt den bevorzugten Antworttyp an.
Vorgänge
Mit einem Vorgangsobjekt wie CampaignOperation können Sie die Aktion angeben, die Sie für eine einzelne Ressource ausführen möchten, indem Sie das Feld operation 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.
updateAktualisiert die Ressource, sodass sie den Attributen von
updateentspricht.Ressource Wenn dieses Feld festgelegt ist, müssen Sie auch das
update_maskdes Vorgangs festlegen. Dadurch wird der Google Ads API mitgeteilt, welche Attribute während des Aktualisierungsvorgangs geändert werden sollen. Jede Clientbibliothek enthält eine Utility- oder Helper-Methode, mit der dieupdate_maskfür Sie generiert wird. Beispiele finden Sie in unseren Clientbibliotheken.removeEntfernt 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.
Batchvorgänge
Mit einem einzelnen Vorgang kann nur eine einzelne Ressource erstellt, aktualisiert oder entfernt werden. Eine einzelne Mutate-Anfrage kann jedoch 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.
Antworten ändern
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 wurde, enthält die Antwort nur die veränderbaren Felder in der Kampagne. Anschließend können Sie Folgeänderungen an diesem Ressourcenobjekt vornehmen, ohne es neu erstellen zu müssen.
Fehler bei Mutationen
Die Vorgänge in einer bestimmten Mutate-Anfrage 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 Informationen dazu, wie Sie diese beheben können.
Änderungen nachverfolgen
Wenn Sie Änderungen an Objekten in Ihrem Google Ads-Konto nachverfolgen oder den aktuellen Status von Objekten abrufen möchten, können Sie die Ressourcen change_status und change_event verwenden.
change_statusbietet eine Zusammenfassung der Ressourcen, die sich in einem bestimmten Zeitraum geändert haben.change_evententhält einen detaillierten Verlauf der Änderungen, einschließlich der alten und neuen Werte der geänderten Felder.
Verwenden Sie zum Abfragen dieser Ressourcen die Methode GoogleAdsService.SearchStream oder GoogleAdsService.Search. Weitere Informationen zum Streamen von Berichten mit GoogleAdsService