تنزيل الملف

يتم تخزين ملفات البيانات المنظَّمة (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);

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

استخراج الملفات

استخرِج ملفات SDF التي تم إنشاؤها من ملف ZIP. تستخدم ملفات SDF أسماء ملفات عامة تحدّد نوعها. يُطلق على ملف SDF لتفاصيل الإعلان الاسم SDF-LineItems.csv.

قد يتضمّن ملف ZIP ملفات "تم تخطّيها" لكل نوع من أنواع الملفات. تحدّد الملفات "التي تم تخطّيها" المصادر غير المضمّنة في ملف SDF. ويتم تسميتها باستخدام لاحقة -Skipped. تتضمّن هذه الملفات بنية من عمودَين. يحدّد العمود الأول المورد الذي تم تخطّيه. ويشرح العمود الثاني سبب استبعاده.