Die meisten Ressourcen werden mit einer Mutate-Methode geändert (erstellt, aktualisiert oder entfernt). Die Mutate-Methode wird als HTTP-POST an eine ressourcenspezifische URL aufgerufen, die dem Muster für Ressourcennamen entspricht, ohne die nachgestellte Ressourcen-ID.
Die IDs der zu ändernden Ressourcen werden stattdessen im JSON-Anfragetext gesendet. So können Sie einen einzelnen API-Aufruf senden, der mehrere Vorgänge für verschiedene Ressourcen enthält.
Der Ressourcenname einer Kampagne hat beispielsweise das folgende Format:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
Um die URL für die Änderung von Kampagnen abzuleiten, lassen Sie die nachgestellte Ressourcen-ID weg und fügen Sie :mutate an:
https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/campaigns:mutate
Eine Mutate Nachricht enthält ein JSON-Objekt der obersten Ebene mit einem operations Array
, das viele operation Objekte enthalten kann. Jeder Vorgang kann wiederum create, update oder remove sein. Das sind die einzigen möglichen Mutate-Vorgänge.
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ ... ] }
Die meisten Dienste unterstützen Tausende von Vorgängen in einem einzigen API-Aufruf. Im System Limits Leitfaden finden Sie Informationen zu den Beschränkungen für Anfragengrößen.
Vorgänge in einer einzelnen API-Anfrage werden standardmäßig als eine Reihe von Aktionen ausgeführt. Das bedeutet, dass sie entweder alle zusammen erfolgreich sind oder der gesamte Batch fehlschlägt, wenn ein einzelner Vorgang fehlschlägt. Einige Dienste unterstützen ein
partialFailure Attribut
um dieses Verhalten zu ändern. Weitere Informationen zur Semantik von Mutate-Vorgängen finden Sie unter Ressourcen ändern.
Erstellen
Bei Erstellungsvorgängen werden neue Entitäten erstellt. Sie müssen eine vollständige JSON-Darstellung der Ressource enthalten, die Sie erstellen möchten.
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
Aktualisieren
Bei Aktualisierungsvorgängen werden spärliche Aktualisierungen an einer vorhandenen Ressource vorgenommen. Sie müssen nur die Felder angeben, die Sie ändern möchten.
Wenn Sie die Felder angeben möchten, die Sie aktualisieren möchten, legen Sie das Attribut updateMask auf eine durch Kommas getrennte Liste von Feldnamen fest. Das ist besonders nützlich, wenn Sie bereits eine vollständig formatierte JSON-Darstellung eines Objekts haben (z. B. wie von einem vorherigen API-Aufruf zurückgegeben), aber nur bestimmte Felder ändern möchten.
Anstatt das JSON-Objekt zu bereinigen, können Sie einfach die zu ändernden Feldnamen in updateMask auflisten und das gesamte JSON-Objekt senden.
Im folgenden Beispiel werden der name und der status einer vorhandenen Kampagne mit dem angegebenen resourceName geändert.
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
Entfernen
Bei Entfernungsvorgängen wird ein Objekt gelöscht und sein Google Ads-Anzeigenstatus auf REMOVED gesetzt. Es ist nur der zu entfernende resourceName erforderlich.
POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }