Mendownload SDF

Setelah operasi berhasil selesai dan Anda mengekstrak nama resource dari respons operasi yang sudah selesai, Anda siap mendownload file zip yang berisi SDF yang dihasilkan menggunakan metode media.download.

Berikut adalah contoh cara menggunakan library klien untuk mendownload file yang dihasilkan:

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);

Setelah file didownload dan diekstrak, file data terstruktur yang dihasilkan akan tersedia untuk Anda. File yang dihasilkan akan memiliki nama umum yang mengidentifikasi jenis file SDF (contoh: SDF-LineItems.csv).

File yang dilewati

Jika data untuk resource yang diminta tidak dapat disertakan dalam file data terstruktur yang sesuai, file zip yang didownload mungkin menyertakan file "Dilewati" (contoh: SDF-LineItems-Skipped.csv). File ini akan memiliki struktur dua kolom, kolom pertama berisi ID resource yang tidak dapat disertakan dan file kedua berisi alasan pengecualiannya.

Resource dapat dilewati karena berbagai alasan, termasuk berada dalam status tidak didukung atau jenis yang tidak didukung. Hindari resource yang dilewatkan dengan menggunakan SDF versi terbaru.