Relatórios de consulta

Uma Report contém o resultado de uma única análise de pacote de apps e inclui as verificações de conformidade e os resultados do monitoramento de dados. Quase todos os dados oferecidos nas páginas Compliance e Monitoramento de dados do Console de verificações podem ser acessados programaticamente por relatórios.

A API Checks fornece métodos padrão Get e List para acessar relatórios:

Selecionar os campos a serem retornados

Como os relatórios contêm muitos dados, somente os campos name e resultsUri são retornados por padrão. Para retornar um conjunto diferente de campos, liste-os explicitamente no parâmetro de consulta de URL fields.

Exemplos

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

Retorna:

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

Os campos aninhados podem ser listados com a sintaxe de pontos ou entre parênteses.

Por exemplo,

fields=checks.type,checks.state

é equivalente a

fields=checks(type,state)

Os parênteses também podem ser usados de forma recursiva, como em:

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

Isso permite que as expressões sejam mais concisas.

O valor do parâmetro de consulta fields também é conhecido como máscara de campo. Consulte Máscaras de campo para saber mais.

Veja abaixo mais exemplos de máscara de campo para os métodos Get e List:

Get

Expressão Saída
* Retorna todos os campos.
name,checks Retorna name e todos os campos aninhados de checks.
name,checks(type,state) Retorna name, checks.type e checks.state.
name,dataMonitoring Retorna name e todos os campos aninhados de dataMonitoring.

Lista

Expressão Saída
* Retorna todos os campos.
reports(name,checks) Retorna name e todos os campos aninhados de checks.
reports(name,checks(type,state)) Retorna name, checks.type e checks.state.
reports(name,dataMonitoring) Retorna name e todos os campos aninhados de dataMonitoring.

Filtrar relatórios

É possível filtrar os relatórios retornados pelo método List transmitindo uma expressão de filtro usando o parâmetro de consulta de URL filter.

Veja alguns exemplos:

Expressão Saída
appBundle.releaseType = PRE_RELEASE Retorna somente relatórios de pacotes de apps em pré-lançamento.
appBundle.releaseType = PUBLIC Retorna somente relatórios de pacotes de apps públicos.
appBundle.codeReferenceId = abc123 Retorna relatórios em que codeReferenceId é igual a abc123.

A filtragem por estes caminhos de campo não é compatível:

  • 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

Consulte AIP-160 para aprender a criar mais expressões de filtro.

Filtrar verificações nos relatórios

É possível filtrar verificações nos relatórios passando uma expressão de filtro usando o parâmetro de consulta de URL checksFilter. Somente as verificações que correspondem à expressão de filtro são incluídas na resposta. Esse parâmetro é compatível com os métodos List e Get.

Veja alguns exemplos:

Expressão Saída
state = FAILED Inclui apenas verificações com falha.
citations.type:GDPR Inclui apenas verificações relacionadas ao GDPR.
state = FAILED AND citations.type:GDPR Inclui apenas verificações reprovadas relacionadas ao GDRP.
regionCodes:CA Inclui apenas verificações relacionadas à região do Canadá.
state = FAILED AND severity = PRIORITY Inclui apenas verificações de prioridade com falha.

A filtragem por estes caminhos de campo não é compatível:

  • 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

Consulte AIP-160 para aprender a criar mais expressões de filtro.

Paginação

Por padrão, o método List retorna no máximo 10 relatórios. Para mudar isso, defina o parâmetro de consulta de URL pageSize. O valor máximo é 50.

O método List retorna um nextPageToken quando há mais resultados para buscar:

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

Transmita esse token para o método List usando o parâmetro de consulta de URL pageToken para buscar a próxima página de resultados.