Setelah operasi berhasil selesai dan Anda telah mengekstrak nama resource dari respons operasi yang telah 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 generik
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 "Lewati"
(contoh: SDF-LineItems-Skipped.csv
). File ini akan memiliki struktur dua kolom, yang pertama berisi ID resource yang tidak dapat
disertakan dan yang kedua berisi alasan pengecualiannya.
Resource dapat dilewati karena berbagai alasan, termasuk berada dalam status yang tidak didukung atau jenis yang tidak didukung. Hindari agar resource tidak dilewati dengan menggunakan versi SDF terbaru.