Wie im Leitfaden 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. Sie können auch GoogleAdsService.Mutate verwenden, um mehrere Ressourcentypen in einer einzelnen Anfrage atomar zu ändern.
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.
Mutationsanfragen
Jeder dienstspezifische Dienst für Ressourcentypen hat eine mutate-Methode, die eine Mutate-Anfrage akzeptiert. Diese Anfrage besteht aus:
- Ein
customer_id(odercustomerIdin REST-URLs) - Eine Sammlung von
operations - Optionale Ausführungseinstellungen wie
partial_failure,validate_onlyundresponse_content_type(die festlegen, ob die veränderliche Ressource oder nur der Ressourcenname nach der Änderung zurückgegeben wird)
Die Methode MutateCampaigns von CampaignService akzeptiert beispielsweise ein MutateCampaignsRequest, das aus Folgendem besteht:
- Ein
customer_id - Eine Sammlung von
CampaignOperation-Objekten (operations) - Optionale Ausführungseinstellungen (
partial_failure,validate_onlyundresponse_content_typegeben den bevorzugten Antworttyp an)
Vorgänge
Mit einem Vorgangsobjekt wie CampaignOperation können Sie die Aktion angeben, die für eine einzelne Ressource ausgeführt werden soll, indem Sie das Feld operation festlegen.
Dieses Feld ist ein oneof-Feld mit den folgenden Attributen:
create- Erstellt eine neue Instanz der Ressource.
update- Aktualisiert die Ressource, sodass sie den Attributen der
update-Ressource entspricht. Wenn dieses Feld festgelegt ist, müssen Sie auch dasupdate_maskdes Vorgangs festlegen. Dadurch wird der Google Ads API mitgeteilt, welche Attribute während des Aktualisierungsvorgangs geändert werden sollen. Jede Clientbibliothek enthält ein Dienstprogramm für Feldmasken oder eine Hilfsmethode, mit der dieupdate_maskfür Sie generiert wird. remove- Entfernt die Ressource, die durch den String des Ressourcennamens angegeben wird (z. B.
customers/1234567890/campaigns/987654321).
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 create und eine mit remove.
Batchvorgänge
Ein einzelner Vorgang kann nur eine einzelne Ressource erstellen, aktualisieren oder entfernen. Eine einzelne Mutationsanfrage kann jedoch mehrere Vorgänge enthalten. Sie sollten Ihre Vorgänge in einer einzigen Mutationsanfrage kombinieren, anstatt mehrere Mutationsanfragen 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. Wenn Sie Vorgänge für verschiedene Ressourcentypen in einer einzigen Anfrage gruppieren möchten, verwenden Sie GoogleAdsService.Mutate oder mutating resources.
Antworten ändern
Was in der Antwort zurückgegeben wird, hängt davon ab, was im Feld response_content_type der Mutationsanfrage gesendet wurde.
Wenn beispielsweise MUTABLE_RESOURCE angegeben ist, enthält die Antwort sowohl die resource_name der Ressource als auch die veränderbaren Felder der Kampagne in campaign. Standardmäßig (RESOURCE_NAME_ONLY) wird nur resource_name in jedem MutateCampaignResult ausgefüllt.
Mutationsfehler
Standardmäßig (partial_failure = false) werden die Vorgänge in einer Mutationsanfrage nur dann auf Ihr Google Ads-Konto angewendet, wenn jeder Vorgang in der Anfrage erfolgreich ist. Wenn ein Vorgang fehlschlägt, wird die gesamte Anfrage zurückgesetzt. Bei Mutate-Anfragen, die Teilausfälle unterstützen (Anfragen mit dem Feld partial_failure in der Anfragenachricht), werden durch das Festlegen von partial_failure = true gültige Vorgänge übernommen, während bei fehlgeschlagenen Vorgängen vorgangsspezifische Fehler im Feld partial_failure_error der Antwort zurückgegeben werden. Weitere Informationen zum Beheben von Fehlern finden Sie im Leitfaden zu Teilausfällen und im Leitfaden zu häufigen Fehlern.
Ä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