Rapports sur les requêtes

Un élément Report contient le résultat d'une seule analyse d'app bundle, et inclut les contrôles de conformité et les résultats de la surveillance des données. Presque toutes les données proposées via les pages Conformité et Surveillance des données de la fonctionnalité Checks Console sont accessibles de manière programmatique via les rapports.

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

Sélectionner les champs à renvoyer

Étant donné que les rapports contiennent beaucoup de données, seuls les champs name et resultsUri sont renvoyés par défaut. Pour renvoyer un autre ensemble de champs, répertoriez-les explicitement dans le paramètre de requête d'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 répertoriés à l'aide de la syntaxe à points 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 ceci:

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

Cela permet aux expressions d'être plus concises.

La valeur du paramètre de requête fields est également appelée masque de champ. Pour en savoir plus, consultez la section 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 d'URL filter.

Voici quelques exemples :

Expression Sortie
appBundle.releaseType = PRE_RELEASE Ne renvoie que des rapports sur les app bundles des versions préliminaires.
appBundle.releaseType = PUBLIC Ne renvoie que des rapports sur les app bundles publics.
appBundle.codeReferenceId = abc123 Affiche les rapports dans lesquels codeReferenceId est égal à abc123.

Le filtrage en fonction des chemins d'accès suivants 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 apprendre à 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. Seules les vérifications correspondant à l'expression de filtre sont incluses dans la réponse. Ce paramètre est compatible avec les méthodes List et Get.

Voici quelques exemples :

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

Le filtrage en fonction des chemins d'accès suivants 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 apprendre à créer d'autres expressions de filtre.

Pagination

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

La méthode List renvoie un nextPageToken lorsqu'il y a plus de résultats à extraire:

{
  "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.