Tải tệp xuống

Các tệp dữ liệu có cấu trúc (SDF) được tạo sẽ được lưu trữ trong tệp ZIP. Tải tệp này xuống bằng giá trị trong trường response.resourceName của Operation thành công bằng cách sử dụng media.download.

Sau đây là cách tải tệp SDF ZIP xuống:

Java

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

Python

# 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}.")

PHP

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

Trích xuất tệp

Trích xuất các SDF đã tạo từ tệp ZIP. SDF sử dụng tên tệp chung để xác định loại tệp. Tệp SDF mục hàng có tên là SDF-LineItems.csv.

Tệp ZIP có thể bao gồm các tệp "Bị bỏ qua" cho từng loại tệp. Tệp "Bị bỏ qua" xác định những tài nguyên không có trong SDF. Chúng được đặt tên bằng hậu tố -Skipped. Các tệp này có cấu trúc gồm 2 cột. Cột đầu tiên xác định tài nguyên bị bỏ qua. Cột thứ hai giải thích lý do loại trừ.