بعد اكتمال العملية بنجاح واستخراج اسم المورد من استجابة العملية المكتملة، تكون جاهزًا لتنزيل ملف zip
الذي يحتوي على ملفات SDF التي تم إنشاؤها باستخدام الطريقة media.download
.
إليك مثال على كيفية استخدام مكتبة عملاء لتنزيل الملف الناتج:
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);
بعد تنزيل الملف وفك ضغطه، ستكون ملفات البيانات
المنظمة التي تم إنشاؤها متاحة لك. وستحمل الملفات التي يتمّ إنشاؤها أسماءً عامة تحدّد نوع ملف SDF (مثال: SDF-LineItems.csv
).
الملفات التي تم تخطيها
إذا تعذّر تضمين بيانات مورد مطلوب في ملف البيانات المنظَّمة المقابل، قد يتضمن الملف المضغوط الذي تم تنزيله "ملفًا تم تخطيه"
(مثال: SDF-LineItems-Skipped.csv
). سيكون لهذا الملف بنية من عمودين، ويحتوي الأول على أرقام تعريف الموارد التي تعذّر تضمينها، يتضمن الملف الثاني سبب الاستبعاد.
يمكن تخطي الموارد لعدة أسباب، بما في ذلك أن تكون في حالة غير متوافقة أو أنها من نوع غير متوافق. تجنب تخطي الموارد باستخدام أحدث إصدار من SDF.