Report sulle query

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

L'API Checks offre 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 dell'URL fields.

Esempio:

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

Resi:

{
  "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 dei punti o racchiudendoli tra parentesi.

Ad esempio:

fields=checks.type,checks.state

è equivalente a

fields=checks(type,state)

Le parentesi possono essere utilizzate in modo ricorsivo, ad esempio:

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

Ciò consente di creare espressioni più concise.

Il valore del parametro di query fields è noto anche come maschera di campo. Per scoprire di più, consulta Mascherine per i campi.

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

Get

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 con il parametro di query dell'URL filter.

Ecco alcuni esempi:

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

Il filtro in base a questi percorsi di campo 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

Per scoprire come creare altre espressioni di filtro, consulta AIP-160.

Filtra i controlli all'interno dei report

Puoi filtrare i controlli all'interno dei report passando un'espressione di filtro con il parametro di query dell'URL checksFilter. Nella risposta vengono inclusi solo i controlli che corrispondono all'espressione di filtro. Questo parametro è supportato dai metodi List e Get.

Ecco alcuni esempi:

Espressione Output
state = FAILED Sono inclusi solo i controlli non superati.
citations.type:GDPR Sono inclusi solo i controlli relativi al GDPR.
state = FAILED AND citations.type:GDPR Sono inclusi solo i controlli non superati relativi al GDRP.
regionCodes:CA Sono inclusi solo i controlli relativi alla regione del Canada.
state = FAILED AND severity = PRIORITY Sono inclusi solo i controlli di priorità non superati.

Il filtro in base a questi percorsi di campo 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

Per scoprire come creare altre espressioni di filtro, consulta AIP-160.

Impaginazione

Per impostazione predefinita, il metodo List restituisce al massimo 10 report. Per modificare questa impostazione, puoi impostare il parametro di query dell'URL pageSize. Il valore massimo è 50.

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

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

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