Datei mit strukturierten Daten hochladen

Sie können Ressourcen, einschließlich YouTube-Ressourcen, programmatisch und in großen Mengen erstellen und aktualisieren, indem Sie strukturierte Datendateien über die Display & Video 360 API hochladen. Auf dieser Seite wird beschrieben, wie Sie eine Datei mit strukturierten Daten mithilfe der API vorbereiten und hochladen.

Pro Google Cloud-Projekt können nur 30 Dateien mit strukturierten Daten pro Werbetreibenden-ID pro Tag hochgeladen werden.

Datei mit strukturierten Daten für den Upload vorbereiten

Hochgeladene strukturierte Datendateien sollten geänderte Versionen von kürzlich heruntergeladenen strukturierten Datendateien desselben Dateityps und desselben Werbetreibenden sein. Bereiten Sie die heruntergeladene Datei mit strukturierten Daten für den Upload vor, indem Sie die folgenden Änderungen vornehmen:

  • Fügen Sie Einträge für alle neuen Ressourcen hinzu, die Sie erstellen möchten.
  • Aktualisieren Sie alle vorhandenen Einträge für Ressourcen, die Sie aktualisieren möchten.
  • Entfernen Sie alle Einträge, die nicht neu oder aktualisiert sind, um die Dateigröße zu verringern, die Verarbeitungszeit zu verkürzen und die Wahrscheinlichkeit unbeabsichtigter Aktualisierungen zu minimieren.

Prüfen Sie vor dem Hochladen der Datei Folgendes:

  • Die Datei ist eine CSV-Datei.
  • Alle Einträge in der Datei beziehen sich auf Ressourcen unter demselben übergeordneten Werbetreibenden.

Datei hochladen

Laden Sie eine Datei mit strukturierten Daten mit der Methode advertisers.sdfuploadtasks.upload hoch. Bei dieser Anfrage wird die SDF-Uploadaufgabe Operation erstellt. Bei diesem Vorgang, der lange dauert, wird die hochgeladene Datei verarbeitet. Basierend auf dem Inhalt der Datei werden Ressourcen erstellt und aktualisiert. Außerdem werden Ergebnisdateien generiert, in denen erfolgreiche und fehlgeschlagene Aktualisierungen aufgeführt sind.

So laden Sie eine Datei mit strukturierten Daten hoch und rufen die resultierende Operation ab:

# Import the object used as the media body for the upload request.
from apiclient.http import MediaFileUpload

# Provide the parent advertiser ID for the resources in the SDF.
# The ID value must be a str and not an int.
advertiser_id = advertiser-id

# Provide the filename and local path to the media file.
sdf_filename = sdf-filename
sdf_path = sdf-path

# Create the request body.
body = {
  'filename': sdf_filename,
  'advertiserId': advertiser_id
}

# Create the upload object and use a default MIME type if not identified.
media = MediaFileUpload(sdf_path)
if not media.mimetype():
  media = MediaFileUpload(sdf_filename,'application/octet-stream')

# Upload the structured data file.
upload_response = service.advertisers().sdfuploadtasks().upload(
  advertiserId=advertiser_id,
  body=body,
  media_body=media
).execute()

# Print resulting Operation name.
print(f'SDF was successfully uploaded. Operation {upload_response["name"]} was '
       'created to process the uploaded file.')