فایلهای داده ساختاریافته (SDF) تولید شده در یک فایل ZIP ذخیره میشوند. این فایل را با استفاده از مقدار موجود در فیلد response.resourceName از Operation موفقیتآمیز با استفاده از media.download دانلود کنید.
در اینجا نحوه دانلود فایل ZIP SDF آورده شده است:
جاوا
// Provide the name of the finished sdfdownloadtask operation. String operationName = operation-name; // Provide the path for the output file. String outputFile = output-file; // Retrieve the resource location from the finished operation. Operation operation = service.sdfdownloadtasks().operations().get(operationName).execute(); String fileLocation = operation.getResponse().get("resourceName").toString(); // Configure the Media.download request. Media.Download downloadRequest = service.media().download(fileLocation); // Create output stream for downloaded file. FileOutputStream outStream = new FileOutputStream(outputFile); // Download file. downloadRequest.executeMediaAndDownloadTo(outStream); System.out.printf("File downloaded at %s", outputFile);
پایتون
# Import the object used for media download. from googleapiclient import http as googleHttp # Provide the name of the successfully completed sdfdownloadtask operation. operation_name = operation-name # Provide the path for the output file. output_path = output-path # Retrieve the completed operation. operation = ( service.sdfdownloadtasks().operations().get(name=operation_name).execute() ) # Retrieve the file location from the operation. file_location = operation["response"]["resourceName"] # Configure the media.download request. download_request = service.media().download_media(resourceName=file_location) # Create output stream for downloaded file. out_stream = io.FileIO(output_path, mode="wb") # Build downloader object. downloader = googleHttp.MediaIoBaseDownload(out_stream, download_request) # Download file in chunks until finished. download_finished = False while download_finished is False: _, download_finished = downloader.next_chunk() print(f"File downloaded at {output_path}.")
پی اچ پی
// Provide the name of the finished sdfdownloadtask operation. $operationName = operation-name; // Provide the path for the output file. $outputFile = output-file; try { // Call the API, retrieving the SDF Download Task. $operation = $this->service->sdfdownloadtasks_operations->get( $operationName ); $fileLocation = $operation->getResponse()['resourceName']; $client = $this->service->getClient(); $client->setDefer(true); $request = $this->service->media->download( $fileLocation, 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($outputFile, $responseBody); $client->setDefer(false); } catch (\Exception $e) { $this->renderError($e); return; } printf('<p>File downloaded at %s</p>', $outputFile);
استخراج فایلها
فایلهای SDF تولید شده را از فایل ZIP استخراج کنید. فایلهای SDF از نامهای فایل عمومی برای شناسایی نوع خود استفاده میکنند. یک فایل SDF با آیتم خطی SDF-LineItems.csv نام دارد.
فایل ZIP ممکن است شامل فایلهای «Skipped» برای هر نوع فایل باشد. فایلهای «Skipped» منابعی را مشخص میکنند که در SDF گنجانده نشدهاند. آنها با پسوند -Skipped نامگذاری میشوند. این فایلها ساختار دو ستونی دارند. ستون اول منبع نادیده گرفته شده را مشخص میکند. ستون دوم حذف آنها را توضیح میدهد.