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.