L'esecuzione di un report avvia l'esecuzione di un modello esistente
Report
per generare dati sul rendimento per il tuo account Curation.
Questa guida spiega come generare un report che descrive il rendimento del tuo account Curation
utilizzando l'API Curation Partners per eseguire
un Report modello.
Prima di iniziare
Prima di continuare, devi completare le seguenti operazioni:
Avviare l'esecuzione di un report
Per eseguire un report esistente, utilizza il
curators.reports.run
metodo.
L'esempio seguente effettua una richiesta POST per avviare l'esecuzione di un report:
REST
Richiesta
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
Sostituisci quanto segue:
ACCOUNT_ID: il tuo ID account.ACCESS_TOKEN: il tuo token di accesso.
Risposta
{
"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); } } }
L'esecuzione di un report è un'operazione a lunga esecuzione asincrona. Quando chiami il
run metodo, l'API Curation Partners risponde con una
Operation
risorsa. Il campo name dell'operazione identifica l'operazione di esecuzione e ha il seguente formato:
curators/ACCOUNT_ID/reports/REPORT_ID/operations/OPERATION_ID
L'oggetto Operation restituito contiene quanto segue:
name: il nome assegnato dal server per l'operazione a lunga esecuzione.metadata: informazioni facoltative sullo stato di avanzamento specifiche del servizio. Il campometadatapotrebbe non essere compilato nell'oggettoOperationche ricevi nella rispostacurators.reports.run.
Dopo aver avviato l'esecuzione di un report, non puoi visualizzare i risultati del report finché il campo done dell'operazione non ha il valore true. Il tempo necessario per completare l'esecuzione di un report varia in base alla complessità del report.
Passaggi successivi
- Scopri come eseguire il polling e visualizzare i report completati con l'API Curation Partners.
- Scopri come visualizzare i report esistenti con l'API Curation Partners.