Puoi creare e aggiornare le risorse, incluse quelle di YouTube, in modo programmatico e collettivo caricando file di dati strutturati utilizzando l'API Display & Video 360. Questa pagina descrive come preparare e caricare un file di dati strutturati utilizzando l'API.
Un progetto Google Cloud può caricare solo 30 file di dati strutturati al giorno per ID inserzionista.
Preparare un file di dati strutturati per il caricamento
I file di dati strutturati caricati devono essere versioni modificate dei file di dati strutturati scaricati di recente dello stesso tipo di file e dello stesso inserzionista. Prepara il file di dati strutturati scaricato per il caricamento apportando i seguenti aggiornamenti:
- Aggiungi voci per le nuove risorse che vuoi creare.
- Aggiorna le voci esistenti per le risorse che vuoi aggiornare.
- Rimuovi le voci non nuove o aggiornate per ridurre le dimensioni del file, velocizzare i tempi di elaborazione e ridurre la probabilità di aggiornamenti involontari.
Verifica quanto segue prima di caricare il file:
- Il file è un file
CSV
. - Tutte le voci del file riguardano risorse dello stesso inserzionista principale.
Carica un file
Carica un file di dati strutturati utilizzando il metodo
advertisers.sdfuploadtasks.upload
. Questa richiesta
crea un'attività di caricamento SDF Operation
. Questa operazione a lunga esecuzione elabora il file caricato, crea e aggiorna le risorse in base ai contenuti del file e genera file di risultati che elencano gli aggiornamenti riusciti e non riusciti.
Ecco come caricare un file di dati strutturati e recuperare il Operation
risultante:
# 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.')