การเรียกใช้รายงานจะเริ่มการดำเนินการเทมเพลต
Report
ที่มีอยู่เพื่อสร้างข้อมูลประสิทธิภาพของบัญชี Curation
คู่มือนี้จะอธิบายวิธีสร้างรายงานที่อธิบายประสิทธิภาพของบัญชี Curation
โดยใช้ Curation Partners API เพื่อ เรียกใช้
เทมเพลต Report
ก่อนเริ่มต้น
คุณต้องดำเนินการต่อไปนี้ให้เสร็จสมบูรณ์ก่อนดำเนินการต่อ
เริ่มการเรียกใช้รายงาน
หากต้องการเรียกใช้รายงานที่มีอยู่ ให้ใช้เมธอด
curators.reports.run
ตัวอย่างต่อไปนี้จะส่งคำขอ POST เพื่อเริ่มการเรียกใช้รายงาน
REST
ส่งคำขอ
curl --request POST \
'https://curationpartners.googleapis.com/v1/curators/ACCOUNT_ID/reports/123456789:run' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{}' \
--compressed
แทนที่ค่าต่อไปนี้
ACCOUNT_ID: รหัสบัญชีของคุณACCESS_TOKEN: โทเค็นเพื่อการเข้าถึงของคุณ
คำตอบ
{
"name": "curators/ACCOUNT_ID/reports/123456789/operations/10486370264",
"done": false,
"metadata": {
"@type": "type.googleapis.com/google.ads.curationpartners.v1.RunReportMetadata"
}
}
Java
/* * Copyright (c) 2026 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package com.google.api.services.samples.curationpartners.v1.curators.reports; import com.google.api.services.curationpartners.v1.CurationPartners; import com.google.api.services.curationpartners.v1.model.Operation; import com.google.api.services.curationpartners.v1.model.RunReportRequest; import com.google.api.services.samples.curationpartners.v1.Utils; import java.io.IOException; import java.security.GeneralSecurityException; import net.sourceforge.argparse4j.ArgumentParsers; import net.sourceforge.argparse4j.inf.ArgumentParser; import net.sourceforge.argparse4j.inf.ArgumentParserException; import net.sourceforge.argparse4j.inf.Namespace; public class RunReport { /** * Executes the run operation for a report. * * @param curationPartnersClient the initialized Curation Partners API client. * @param accountId the account ID of the curator that created the report. * @param reportId the resource ID of the report to run. * @throws IOException if the API returns an error. */ public static void execute( CurationPartners curationPartnersClient, Long accountId, String reportId) throws IOException { String name = String.format("curators/%s/reports/%s", accountId, reportId); System.out.printf("Running report with name \"%s\".%n", name); RunReportRequest requestBody = new RunReportRequest(); // Run the specified report to start an asynchronous operation. Operation operation = curationPartnersClient .curators() .reports() .run(name, requestBody) .execute(); System.out.println("Successfully initiated report run operation:"); Utils.jsonPrettyPrint(operation); } /** * Creates and configures the ArgumentParser for this sample. * * @return the configured ArgumentParser. */ private static ArgumentParser createArgumentParser() { ArgumentParser parser = ArgumentParsers.newFor("RunReport") .build() .defaultHelp(true) .description("Runs a specified report asynchronously, returning an Operation " + "that can be used to track its progress."); // Required arguments. parser .addArgument("-a", "--account_id") .help("The account ID of the curator that created the report.") .required(true) .type(Long.class); parser .addArgument("-r", "--report_id") .help("The resource ID of the report to run.") .required(true); return parser; } public static void main(String[] args) { ArgumentParser parser = createArgumentParser(); Namespace parsedArgs = null; try { parsedArgs = parser.parseArgs(args); } catch (ArgumentParserException ex) { parser.handleError(ex); System.exit(1); } CurationPartners client = null; try { client = Utils.getCurationPartnersClient(); } catch (IOException ex) { System.out.printf("Unable to create Curation Partners API service:%n%s", ex); System.out.println("Did you specify a valid path to a service account key file?"); System.exit(1); } catch (GeneralSecurityException ex) { System.out.printf("Unable to establish secure HttpTransport:%n%s", ex); System.exit(1); } try { execute( client, parsedArgs.getLong("account_id"), parsedArgs.getString("report_id")); } catch (IOException ex) { System.out.printf("Curation Partners API returned error response:%n%s", ex); System.exit(1); } } }
การเรียกใช้รายงานเป็นการดำเนินการแบบอะซิงโครนัสที่ใช้เวลานาน เมื่อคุณเรียกใช้เมธอด
run Curation Partners API จะตอบกลับด้วยทรัพยากร
Operation
ฟิลด์ name ของการดำเนินการจะระบุการดำเนินการเรียกใช้และมีรูปแบบดังนี้
curators/ACCOUNT_ID/reports/REPORT_ID/operations/OPERATION_ID
ออบเจ็กต์ Operation ที่แสดงผลจะมีข้อมูลต่อไปนี้
name: ชื่อที่เซิร์ฟเวอร์กำหนดให้สำหรับการดำเนินการที่ใช้เวลานานmetadata: ข้อมูลความคืบหน้าเฉพาะบริการที่ไม่บังคับ ระบบอาจไม่ป้อนข้อมูลในฟิลด์metadataในออบเจ็กต์Operationที่คุณได้รับในการตอบกลับcurators.reports.run
หลังจากเริ่มการเรียกใช้รายงานแล้ว คุณจะดูผลลัพธ์ของรายงานไม่ได้จนกว่าฟิลด์ done ของการดำเนินการจะมีค่าเป็น true ระยะเวลาที่ใช้ในการเรียกใช้รายงานให้เสร็จสมบูรณ์จะแตกต่างกันไปตามความซับซ้อนของรายงาน
ขั้นตอนถัดไป
- ดูวิธีสำรวจและดูรายงานที่เสร็จสมบูรณ์ ด้วย Curation Partners API
- ดูวิธีดูรายงานที่มีอยู่ ด้วย Curation Partners API