Informes de consultas

Un Report contiene el resultado de un solo análisis de paquete de aplicación y además, incluye las verificaciones de cumplimiento y los resultados de supervisión de datos. Se puede acceder de forma programática a casi todos los datos que se ofrecen a través de las páginas Cumplimiento y Supervisión de datos de la Consola de verificaciones a través de informes.

La API de Checks proporciona métodos Get y List estándar para acceder a los informes:

Selecciona los campos que se mostrarán

Debido a que los informes contienen muchos datos, solo se muestran los campos name y resultsUri de forma predeterminada. Para mostrar un conjunto diferente de campos, enuméralos de forma explícita en el parámetro de consulta de URL fields.

Ejemplo:

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

Se muestra lo siguiente:

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

Los campos anidados se pueden enumerar con la sintaxis de puntos o encerrándolos entre paréntesis.

Por ejemplo,

fields=checks.type,checks.state

es equivalente a

fields=checks(type,state)

Los paréntesis también se pueden usar de forma recursiva, como en el siguiente ejemplo:

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

Esto permite que las expresiones sean más concisas.

El valor del parámetro de consulta fields también se conoce como máscara de campo. Consulta Máscaras de campo para obtener más información.

A continuación, se muestran más ejemplos de máscaras de campo para los métodos Get y List:

Obtener

Expresión Salida
* Muestra todos los campos.
name,checks Muestra name y todos los campos anidados de checks.
name,checks(type,state) Muestra name, checks.type y checks.state.
name,dataMonitoring Muestra name y todos los campos anidados de dataMonitoring.

Lista

Expresión Salida
* Muestra todos los campos.
reports(name,checks) Muestra name y todos los campos anidados de checks.
reports(name,checks(type,state)) Muestra name, checks.type y checks.state.
reports(name,dataMonitoring) Muestra name y todos los campos anidados de dataMonitoring.

Filtrar informes

Para filtrar los informes que muestra el método List, pasa una expresión de filtro con el parámetro de consulta de URL filter.

Estos son algunos ejemplos:

Expresión Salida
appBundle.releaseType = PRE_RELEASE Muestra solo los informes de paquetes de aplicaciones de versión preliminar.
appBundle.releaseType = PUBLIC Muestra solo los informes de paquetes de aplicaciones públicos.
appBundle.codeReferenceId = abc123 Muestra los informes en los que codeReferenceId es igual a abc123.

No se admite el filtrado por estas rutas de campo:

  • 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 para obtener información sobre cómo crear más expresiones de filtro.

Filtra las verificaciones dentro de los informes

Para filtrar las verificaciones dentro de los informes, pasa una expresión de filtro con el parámetro de consulta de URL checksFilter. Solo las verificaciones que coinciden con la expresión de filtro se incluyen en la respuesta. Este parámetro es compatible con los métodos List y Get.

Estos son algunos ejemplos:

Expresión Salida
state = FAILED Incluye solo las verificaciones fallidas.
citations.type:GDPR Incluye solo las verificaciones relacionadas con el GDPR.
state = FAILED AND citations.type:GDPR Incluye solo las verificaciones fallidas relacionadas con el GDPR.
regionCodes:CA Incluye solo las verificaciones relacionadas con la región de Canadá.
state = FAILED AND severity = PRIORITY Incluye solo las verificaciones fallidas de prioridad.

No se admite el filtrado por estas rutas de campo:

  • 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 para obtener información sobre cómo crear más expresiones de filtro.

Paginación

De forma predeterminada, el método List muestra un máximo de 10 informes. Para cambiar esto, configura el parámetro de consulta de URL pageSize. El valor máximo es 50.

El método List muestra un nextPageToken cuando hay más resultados para recuperar:

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

Pasa este token al método List con el parámetro de consulta de URL pageToken para recuperar la siguiente página de resultados.