Raporty zapytań

Report zawiera wynik analizy pojedynczego pakietu aplikacji oraz wyniki kontroli zgodności i monitorowania danych. Niemal wszystkie dane dostępne na stronach Zgodność i Monitorowanie danych w konsoli Checks można uzyskać programowo w raportach.

Interfejs Checks API udostępnia standardowe metody dostępu do raportów za pomocą Get i List:

Wybierz pola do zwrócenia

Raporty zawierają dużo danych, więc domyślnie zwracane są tylko pola name i resultsUri. Aby zwrócić inny zestaw pól, wymień je wyraźnie w parametrze zapytania adresu URL fields.

Przykład:

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

Zwroty:

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

Zagnieżdżone pola można podać za pomocą składni kropek lub umieszczając je w nawiasach.

Przykład:

fields=checks.type,checks.state

jest odpowiednikiem funkcji

fields=checks(type,state)

Nawiasy mogą też być używane rekurencyjnie, na przykład:

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

Dzięki temu wyrażenia mogą być bardziej zwięzłe.

Wartość parametru zapytania fields jest też nazywana maską pola. Więcej informacji znajdziesz w artykule Maski pól.

Poniżej znajdziesz więcej przykładów masek pól w przypadku metod Get i List:

Pobierz

Wyrażenie Wyniki
* Zwraca wszystkie pola.
name,checks Zwraca wartość name i wszystkie zagnieżdżone pola kolumny checks.
name,checks(type,state) Zwraca wartości name, checks.type i checks.state.
name,dataMonitoring Zwraca wartość name i wszystkie zagnieżdżone pola kolumny dataMonitoring.

Lista

Wyrażenie Wyniki
* Zwraca wszystkie pola.
reports(name,checks) Zwraca wartość name i wszystkie zagnieżdżone pola kolumny checks.
reports(name,checks(type,state)) Zwraca wartości name, checks.type i checks.state.
reports(name,dataMonitoring) Zwraca wartość name i wszystkie zagnieżdżone pola kolumny dataMonitoring.

Filtruj raporty

Raporty zwracane przez metodę List można filtrować, przekazując wyrażenie filtra za pomocą parametru zapytania w adresie URL filter.

Oto przykłady:

Wyrażenie Wyniki
appBundle.releaseType = PRE_RELEASE Zwraca tylko raporty dotyczące przedpremierowych pakietów aplikacji.
appBundle.releaseType = PUBLIC Zwraca tylko raporty dotyczące publicznych pakietów aplikacji.
appBundle.codeReferenceId = abc123 Zwraca raporty, w których codeReferenceId równa się abc123.

Filtrowanie według tych ścieżek pól nie jest obsługiwane:

  • 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

Aby dowiedzieć się, jak tworzyć więcej wyrażeń filtra, zobacz AIP-160.

Filtruj weryfikacje w raportach

Sprawdzanie w raportach możesz filtrować, przekazując wyrażenie filtra za pomocą parametru zapytania w adresie URL checksFilter. W odpowiedzi uwzględniane są tylko te sprawdzenia, które pasują do wyrażenia filtra. Ten parametr jest obsługiwany przez metodę List i Get.

Oto przykłady:

Wyrażenie Wyniki
state = FAILED Obejmuje tylko nieudane weryfikacje.
citations.type:GDPR Obejmuje tylko mechanizmy kontrolne związane z RODO.
state = FAILED AND citations.type:GDPR Obejmuje tylko niezaliczone testy związane z GDRP.
regionCodes:CA Obejmuje tylko kontrole dotyczące regionu Kanady.
state = FAILED AND severity = PRIORITY Obejmuje tylko nieudane kontrole priorytetu.

Filtrowanie według tych ścieżek pól nie jest obsługiwane:

  • 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

Aby dowiedzieć się, jak tworzyć więcej wyrażeń filtra, zobacz AIP-160.

Podział na strony

Domyślnie metoda List zwraca maksymalnie tyle raportów: 10. Aby to zmienić, ustaw parametr zapytania w adresie URL pageSize. Maksymalna wartość to 50.

Metoda List zwraca wartość nextPageToken, gdy jest więcej wyników do pobrania:

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

Aby pobrać następną stronę wyników, przekaż ten token do metody List za pomocą parametru zapytania w adresie URL pageToken.