Report sulle query

Un Report contiene il risultato di una singola analisi dell'app bundle e include i controlli di conformità e i risultati del monitoraggio dei dati. Quasi tutti i dati offerti tramite le pagine Conformità e Monitoraggio dei dati della console dei controlli sono accessibili a livello di programmazione tramite i report.

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

Selezionare 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 esplicitamente 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 punti 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))

In questo modo, le espressioni sono 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 degli 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 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 utilizzando il parametro di query URL checksFilter. Nella risposta sono inclusi solo i controlli che corrispondono all'espressione di filtro. Questo parametro è supportato sia dai metodi List sia Get.

Ecco alcuni esempi:

Espressione Output
state = FAILED Include solo i controlli non riusciti.
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 Canada.
state = FAILED AND severity = PRIORITY Include solo i controlli di priorità non riusciti.

Il filtro per 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. Puoi modificare questo valore impostando il parametro di query 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.