Report sulle query

Un Report contiene il risultato di una singola analisi del bundle dell'app e include i controlli di conformità e i risultati del monitoraggio dei dati. È possibile accedere in modo programmatico tramite i report a quasi tutti i dati offerti tramite le pagine Conformità e Monitoraggio dei dati della Console dei controlli.

L'API Checks fornisce metodi Get e List standard per accedere ai report:

Seleziona i campi da restituire

Poiché i report contengono molti dati, per impostazione predefinita vengono restituiti solo i campi name e resultsUri. Per restituire un insieme diverso di campi, elencali in modo esplicito nel parametro di query URL fields.

Esempio:

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

Restituisce:

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

I campi nidificati possono essere elencati utilizzando la sintassi con il punto o racchiudendoli tra parentesi.

Ad esempio,

fields=checks.type,checks.state

è equivalente a

fields=checks(type,state)

Le parentesi possono essere utilizzate anche in modo ricorsivo, come in:

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

Ciò consente di rendere le espressioni più concise.

Il valore del parametro di query fields è noto anche come maschera di campo. Per saperne di più, consulta Maschere di campo.

Di seguito sono riportati altri esempi di maschere di campo per i metodi Get e List:

Aumenta

Espressione Output
* Restituisce tutti i campi.
name,checks Restituisce name e tutti i campi nidificati di checks.
name,checks(type,state) Restituisce name, checks.type e checks.state.
name,dataMonitoring Restituisce name e tutti i campi nidificati di dataMonitoring.

Elenco

Espressione Output
* Restituisce tutti i campi.
reports(name,checks) Restituisce name e tutti i campi nidificati di checks.
reports(name,checks(type,state)) Restituisce name, checks.type e checks.state.
reports(name,dataMonitoring) Restituisce name e tutti i campi nidificati di dataMonitoring.

Filtra report

Puoi filtrare i report restituiti dal metodo List passando un'espressione di filtro utilizzando il parametro di query URL filter.

Ecco alcuni esempi:

Espressione Output
appBundle.releaseType = PRE_RELEASE Restituisce solo i report sugli app bundle pre-release.
appBundle.releaseType = PUBLIC Restituisce solo i report degli app bundle pubblici.
appBundle.codeReferenceId = abc123 Restituisce i report in cui codeReferenceId è uguale a abc123.

Il filtro per questi percorsi dei campi non è supportato:

  • 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

Consulta AIP-160 per scoprire come creare altre espressioni di filtro.

Filtrare i controlli nei report

Puoi filtrare i controlli all'interno dei report passando un'espressione di filtro utilizzando il parametro di query URL checksFilter. Nella risposta sono incluse solo le verifiche che corrispondono all'espressione di filtro. Questo parametro è supportato dai metodi List e Get.

Ecco alcuni esempi:

Espressione Output
state = FAILED Include solo i controlli non superati.
citations.type:GDPR Include solo i controlli relativi al GDPR.
state = FAILED AND citations.type:GDPR Include solo i controlli non riusciti relativi al GDPR.
regionCodes:CA Include solo i controlli relativi alla regione del Canada.
state = FAILED AND severity = PRIORITY Include solo i controlli prioritari non riusciti.

Il filtro per questi percorsi dei campi non è supportato:

  • 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

Consulta AIP-160 per scoprire come creare altre espressioni di filtro.

Impaginazione

Per impostazione predefinita, il metodo List restituisce al massimo 10 report. Puoi modificare questa impostazione impostando il parametro di ricerca URL pageSize. Il valore massimo è 50.

Il metodo List restituisce un nextPageToken quando ci sono altri risultati da recuperare:

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

Passa questo token al metodo List utilizzando il parametro di query URL pageToken per recuperare la pagina successiva dei risultati.