L'exécution d'un rapport lance l'exécution d'un modèle existant
Report
pour générer des données sur les performances de votre compte Curation.
Ce guide explique comment générer un rapport décrivant les performances de votre compte Curation
à l'aide de l'API Curation Partners pour exécuter
un Report modèle.
Avant de commencer
Avant de continuer, vous devez effectuer les opérations suivantes :
Lancer l'exécution d'un rapport
Pour exécuter un rapport existant, utilisez la
curators.reports.run
méthode.
L'exemple suivant envoie une requête POST pour lancer l'exécution d'un rapport :
REST
Requête
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
Remplacez les éléments suivants :
ACCOUNT_ID: ID de votre compte.ACCESS_TOKEN: votre jeton d'accès.
Réponse
{
"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'exécution d'un rapport est une opération asynchrone de longue durée. Lorsque vous appelez la
run méthode, l'API Curation Partners répond avec une
Operation
ressource. Le champ name de l'opération identifie l'opération d'exécution et présente le format suivant :
curators/ACCOUNT_ID/reports/REPORT_ID/operations/OPERATION_ID
L'objet Operation renvoyé contient les éléments suivants :
name: nom attribué par le serveur à l'opération de longue durée.metadata: informations facultatives sur la progression spécifiques au service. Il est possible que le champmetadatane soit pas renseigné dans l'objetOperationque vous recevez dans la réponsecurators.reports.run.
Une fois l'exécution d'un rapport lancée, vous ne pouvez pas afficher les résultats tant que le champ done de l'opération n'a pas la valeur true. La durée d'exécution d'un rapport varie en fonction de sa complexité.
Étapes suivantes
- Découvrez comment interroger et afficher les rapports terminés avec l'API Curation Partners.
- Découvrez comment afficher les rapports existants avec l'API Curation Partners.