Informes de consultas

Un objeto Report contiene el resultado de un solo análisis del APK y los resultados de las verificaciones de cumplimiento y la supervisión de datos. Se puede acceder de forma programática a casi todos los datos que se ofrecen en 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 estándar Get y List para acceder a los informes:

Selecciona los campos que se devolverán

Dado que los informes contienen muchos datos, solo se devuelven los campos name y resultsUri de forma predeterminada. Para devolver 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 búsqueda 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
* Devuelve todos los campos.
name,checks Devuelve name y todos los campos anidados de checks.
name,checks(type,state) Devuelve name, checks.type y checks.state.
name,dataMonitoring Devuelve name y todos los campos anidados de dataMonitoring.

Lista

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

Filtrar informes

Puedes filtrar los informes que devuelve el método List pasando 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 Devuelve solo informes de paquetes de aplicaciones en versión preliminar.
appBundle.releaseType = PUBLIC Solo devuelve informes de paquetes de aplicaciones públicos.
appBundle.codeReferenceId = abc123 Devuelve informes en los que codeReferenceId es igual a abc123.

No se admite el filtrado por las siguientes rutas de campos:

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

Filtra las verificaciones en los informes

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

Estos son algunos ejemplos:

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

No se admite el filtrado por las siguientes rutas de campos:

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

Paginación

De forma predeterminada, el método List devuelve un máximo de 10 informes. Puedes cambiar esto si configuras el parámetro de consulta de URL pageSize. El valor máximo es 50.

El método List devuelve 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.