Scaricare l'SDF

Una volta completata l'operazione e dopo aver estratto il nome della risorsa dalla risposta dell'operazione completata, puoi scaricare il file ZIP contenente gli SDF generati utilizzando il metodo media.download.

Ecco un esempio di come utilizzare una libreria client per scaricare il file risultante:

Java

// Extract download file resource name to use in download request
String downloadResourceName = operationResponse.getResponse()
    .get("resourceName").toString();

// Configure the Media.download request
Media.Download downloadRequest =
   service
       .media()
       .download(downloadResourceName);

// Create output stream for downloaded file
FileOutputStream outStream =
   new FileOutputStream(output-file);

// Download file
downloadRequest.executeMediaAndDownloadTo(outStream);

System.out.printf("File downloaded to %s\n", outputFile);

Python

# Extract download file resource name to use in download request
resourceName = operation["response"]["resourceName"]

# Configure the Media.download request
downloadRequest = service.media().download_media(resourceName=resourceName)

# Create output stream for downloaded file
outStream = io.FileIO(output-file, mode='wb')

# Make downloader object
downloader = googleHttp.MediaIoBaseDownload(outStream, downloadRequest)

# Download media file in chunks until finished
download_finished = False
while download_finished is False:
  _, download_finished = downloader.next_chunk()

print("File downloaded to %s" % output-file)

PHP

// Get client and set defer so it doesn't immediately return.
$client = $this->service->getClient();
$client->setDefer(true);

// Build media download request.
$request = $this->service->media->download(
    $operation->getResponse()['resourceName'],
    array('alt' => 'media')
);

// Call the API, getting the generated SDF.
$response = $client->execute($request);
$responseBody = $response->getBody();

// Writes the downloaded file. If the file already exists, it is
// overwritten.
file_put_contents(output-file, $responseBody);
$client->setDefer(false);

printf('File saved to: %s\n', output-file);

Una volta scaricato e decompresso il file, i file di dati strutturati generati saranno disponibili. I file generati avranno nomi generici che identificano il tipo di file SDF (ad es. SDF-LineItems.csv).

File ignorati

Se i dati di una risorsa richiesta non possono essere inclusi nel corrispondente file di dati strutturati, il file ZIP scaricato potrebbe includere un file "Ignorato" (ad es. SDF-LineItems-Skipped.csv). Questo file avrà una struttura con due colonne, la prima contenente gli ID delle risorse che non è stato possibile includere e la seconda contenente il motivo della loro esclusione.

Le risorse possono essere ignorate per molti motivi, ad esempio perché si trovano in uno stato o di un tipo non supportato. Evita che le risorse vengano ignorate utilizzando la versione più recente di SDF.