Una vez que la operación finalice correctamente y hayas extraído el nombre del recurso de la respuesta de la operación completada, estarás listo para descargar el archivo ZIP que contiene tus SDF generados con el método media.download
.
A continuación, se muestra un ejemplo de cómo usar una biblioteca cliente para descargar el archivo resultante:
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 vez que el archivo se descargue y descomprima, los archivos de datos estructurados generados
estarán disponibles. Los archivos generados tendrán nombres genéricos que identifican el tipo de archivo SDF (por ejemplo: SDF-LineItems.csv
).
Archivos omitidos
Si no se pueden incluir datos de un recurso solicitado en el archivo de datos estructurados correspondiente, el archivo ZIP descargado podría incluir un archivo "Omitido" (por ejemplo: SDF-LineItems-Skipped.csv
). Este archivo tendrá una estructura de dos columnas: la primera contendrá los ID de los recursos que no se pudieron incluir y el segundo, el motivo de su exclusión.
Los recursos se pueden omitir por muchos motivos, como estar en un estado no compatible o de un tipo no compatible. Evita que se omitan recursos con la versión más reciente de SDF.