Raporty zapytań

Report zawiera wynik pojedynczej analizy pakietu aplikacji oraz wyniki sprawdzania zgodności i monitorowania danych. Prawie wszystkie dane dostępne na stronach Zgodność i Monitorowanie danych w Konsoli sprawdzania można uzyskać programowo za pomocą raportów.

Interfejs Checks API udostępnia standardowe metody Get i List umożliwiające dostęp do raportów:

Wybieranie pól do zwrócenia

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

Przykład:

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

Zwraca:

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

Pola zagnieżdżone można wymieniać za pomocą składni z kropką lub umieszczając je w nawiasach.

Na przykład

fields=checks.type,checks.state

jest równoznaczne z

fields=checks(type,state)

Nawiasów można też używać rekurencyjnie, np.:

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ą pól. Więcej informacji znajdziesz w sekcji Maski pól.

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

Pobierz

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

Lista

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

Filtruj raporty

Raporty zwracane przez metodę List możesz filtrować, przekazując wyrażenie filtru za pomocą parametru zapytania URL filter.

Oto przykłady:

Wyrażenie Wyniki
appBundle.releaseType = PRE_RELEASE Zwraca tylko raporty dotyczące pakietów aplikacji w wersji przedpremierowej.
appBundle.releaseType = PUBLIC Zwraca tylko raporty dotyczące publicznych pakietów aplikacji.
appBundle.codeReferenceId = abc123 Zwraca raporty, w których codeReferenceId jest równe 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

Więcej informacji o tworzeniu wyrażeń filtru znajdziesz w AIP-160.

Filtrowanie sprawdzania w raportach

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

Oto przykłady:

Wyrażenie Wyniki
state = FAILED Obejmuje tylko sprawdzania, które się nie powiodły.
citations.type:GDPR Obejmuje tylko sprawdzania związane z RODO.
state = FAILED AND citations.type:GDPR Obejmuje tylko sprawdzania, które się nie powiodły i są związane z RODO.
regionCodes:CA Obejmuje tylko sprawdzania związane z regionem Kanada.
state = FAILED AND severity = PRIORITY Obejmuje tylko sprawdzania, które się nie powiodły i mają priorytet.

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

Więcej informacji o tworzeniu wyrażeń filtru znajdziesz w AIP-160.

Podział na strony

Domyślnie metoda List zwraca maksymalnie 10 raportów. Możesz to zmienić, ustawiając parametr zapytania URL pageSize. Maksymalna wartość to 50.

Gdy jest więcej wyników do pobrania, metoda List zwraca nextPageToken:

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

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