Rapports sur les requêtes

Un Report contient le résultat d'une seule analyse de package d'application et inclut les résultats des vérifications de conformité et de la surveillance des données. Presque toutes les données proposées sur les pages Conformité et Surveillance des données de la Checks Console sont accessibles par programmation via des rapports.

L'API Checks fournit des méthodes Get et List standards pour accéder aux rapports :

Sélectionnez les champs à renvoyer.

Étant donné que les rapports contiennent de nombreuses données, seuls les champs name et resultsUri sont renvoyés par défaut. Pour renvoyer un autre ensemble de champs, listez-les explicitement dans le paramètre de requête URL fields.

Exemple :

GET https://checks.googleapis.com/v1alpha/accounts/123/apps/456/reports/789?fields=name,checks(type,state)

Renvoie :

{
  "name": "accounts/123/apps/456/reports/789",
  "checks": [
    {
      "type": "PRIVACY_POLICY_UPDATE_DATE_RECENT",
      "state": "PASSED"
    },
    ...
  ]
}

Les champs imbriqués peuvent être listés à l'aide de la syntaxe à point ou en les encadrant entre parenthèses.

Par exemple,

fields=checks.type,checks.state

équivaut à

fields=checks(type,state)

Les parenthèses peuvent également être utilisées de manière récursive, comme dans l'exemple suivant :

fields=checks(type,state,evidence(permissions,sdks))

Cela permet de rendre les expressions plus concises.

La valeur du paramètre de requête fields est également appelée masque de champ. Pour en savoir plus, consultez Masques de champ.

Vous trouverez ci-dessous d'autres exemples de masques de champ pour les méthodes Get et List :

Télécharger

Expression Sortie
* Renvoie tous les champs.
name,checks Renvoie name et tous les champs imbriqués de checks.
name,checks(type,state) Renvoie name, checks.type et checks.state.
name,dataMonitoring Renvoie name et tous les champs imbriqués de dataMonitoring.

Liste

Expression Sortie
* Renvoie tous les champs.
reports(name,checks) Renvoie name et tous les champs imbriqués de checks.
reports(name,checks(type,state)) Renvoie name, checks.type et checks.state.
reports(name,dataMonitoring) Renvoie name et tous les champs imbriqués de dataMonitoring.

Filtrer les rapports

Vous pouvez filtrer les rapports renvoyés par la méthode List en transmettant une expression de filtre à l'aide du paramètre de requête URL filter.

Voici quelques exemples :

Expression Sortie
appBundle.releaseType = PRE_RELEASE Ne renvoie que les rapports sur les app bundles en version préliminaire.
appBundle.releaseType = PUBLIC Ne renvoie que les rapports sur les app bundles publics.
appBundle.codeReferenceId = abc123 Renvoie les rapports pour lesquels codeReferenceId est égal à abc123.

Le filtrage par ces chemins de champ n'est pas disponible :

  • checks.evidence.dataTypes.dataTypeEvidence.endpoints.attributedSdks.sdk.id
  • checks.evidence.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domain
  • checks.evidence.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContent
  • checks.evidence.privacyPolicyTexts.policyFragment.htmlContent
  • checks.evidence.sdkIssues.sdk.id
  • dataMonitoring.dataTypes.dataTypeEvidence.endpoints.attributedSdks.sdk.id
  • dataMonitoring.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domain
  • dataMonitoring.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContent
  • dataMonitoring.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.sourceUri
  • dataMonitoring.permissions.metadata.lastDetectedAppVersion
  • resultsUri

Consultez AIP-160 pour découvrir comment créer d'autres expressions de filtre.

Filtrer les vérifications dans les rapports

Vous pouvez filtrer les vérifications dans les rapports en transmettant une expression de filtre à l'aide du paramètre de requête d'URL checksFilter. Seuls les contrôles correspondant à l'expression de filtre sont inclus dans la réponse. Ce paramètre est accepté par les méthodes List et Get.

Voici quelques exemples :

Expression Sortie
state = FAILED N'inclut que les échecs de validation.
citations.type:GDPR N'inclut que les vérifications liées au RGPD.
state = FAILED AND citations.type:GDPR Inclut uniquement les échecs de validation liés au RGPD.
regionCodes:CA N'inclut que les vérifications liées à la région du Canada.
state = FAILED AND severity = PRIORITY N'inclut que les vérifications de priorité ayant échoué.

Le filtrage par ces chemins de champ n'est pas disponible :

  • evidence.dataTypes.dataTypeEvidence.endpoints.attributedSdks.sdk.id
  • evidence.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domain
  • evidence.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContent
  • evidence.privacyPolicyTexts.policyFragment.htmlContent
  • evidence.sdkIssues.sdk.id

Consultez AIP-160 pour découvrir comment créer d'autres expressions de filtre.

Pagination

Par défaut, la méthode List renvoie au maximum 10 rapports. Vous pouvez modifier ce paramètre en définissant le paramètre de requête d'URL pageSize. La valeur maximale est de 50.

La méthode List renvoie un nextPageToken lorsqu'il y a d'autres résultats à récupérer :

{
  "reports": [
    ...
  ],
  "nextPageToken": "CAEQ0ITI8K7ngAMaIDY3MThjNjQ3NGZmNzBhZGI4NWI5NjAyN2ViZmQ5MWVh"
}

Transmettez ce jeton à la méthode List à l'aide du paramètre de requête d'URL pageToken pour récupérer la page de résultats suivante.