Przesyłanie pliku uporządkowanych danych

Możesz tworzyć i aktualizować zasoby, w tym zasoby YouTube, programowo i zbiorczo, przesyłając pliki uporządkowanych danych za pomocą interfejsu Display & Video 360 API. Na tej stronie dowiesz się, jak przygotować i przesłać plik danych strukturalnych za pomocą interfejsu API.

Projekt Google Cloud może przesłać tylko 30 plików danych strukturalnych dziennie na identyfikator reklamodawcy.

Przygotowywanie pliku uporządkowanych danych do przesłania

Przesłane pliki uporządkowanych danych powinny być zmodyfikowanymi wersjami niedawno pobranych plików uporządkowanych danych tego samego typu i od tego samego reklamodawcy. Przygotuj pobrany plik uporządkowanych danych do przesłania, wprowadzając te zmiany:

  • Dodaj wpisy dla wszystkich nowych zasobów, które chcesz utworzyć.
  • Zaktualizuj wszystkie dotychczasowe wpisy dotyczące zasobów, które chcesz zaktualizować.
  • Usuń wszystkie wpisy, które nie są nowe ani zaktualizowane, aby zmniejszyć rozmiar pliku, przyspieszyć czas przetwarzania i zmniejszyć prawdopodobieństwo przypadkowych aktualizacji.

Przed przesłaniem pliku sprawdź, czy:

  • Plik jest plikiem CSV.
  • Wszystkie wpisy w pliku dotyczą zasobów należących do tego samego reklamodawcy nadrzędnego.

Prześlij plik

Prześlij plik uporządkowanych danych za pomocą metody advertisers.sdfuploadtasks.upload. Ta prośba tworzy zadanie przesyłania pliku SDF Operation. Ta długotrwała operacja przetwarza przesłany plik, tworzy i aktualizuje zasoby na podstawie jego zawartości oraz generuje pliki wyników, które zawierają listę udanych i nieudanych aktualizacji.

Aby przesłać plik danych strukturalnych i pobrać wynikowy plik Operation:

# 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.')