Raporty zapytań

Report zawiera wynik pojedynczej analizy pakietu aplikacji i obejmuje wyniki kontroli zgodności oraz monitorowania danych. Prawie wszystkie dane, które są dostępne na stronach ZgodnośćMonitorowanie danych w Konsoli weryfikacji, można uzyskać automatycznie za pomocą raportów.

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

Wybierz pola, które mają być zwracane

Raporty zawierają dużo danych, więc domyślnie zwracane są tylko pola nameresultsUri. Aby zwrócić inny zestaw pól, wymień je wyraźnie 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 wyświetlać za pomocą składni z kropką lub umieszczając je w nawiasach.

Na przykład

fields=checks.type,checks.state

to tyle samo co

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 są bardziej zwięzłe.

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

Oto więcej przykładów masek pól w przypadku metod GetList:

Pobierz

Wyrażenie Wyniki
* Zwraca wszystkie pola.
name,checks Zwraca name i wszystkie zagnieżdżone pola checks.
name,checks(type,state) Zwraca wartości name, checks.typechecks.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 wartości name, checks.typechecks.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 filtra 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ń filtra znajdziesz w AIP-160.

Filtrowanie weryfikacji w raportach

Możesz filtrować sprawdzanie w raportach, przekazując wyrażenie filtra za pomocą checksFilterparametru zapytania adresu URL. Odpowiedź zawiera tylko kontrole pasujące do wyrażenia filtra. Ten parametr jest obsługiwany przez metody ListGet.

Oto przykłady:

Wyrażenie Wyniki
state = FAILED Zawiera tylko niezaliczoną weryfikację.
citations.type:GDPR Obejmuje tylko kontrole związane z RODO.
state = FAILED AND citations.type:GDPR Obejmuje tylko nieudane sprawdzenia związane z RODO.
regionCodes:CA Obejmuje tylko kontrole związane z regionem Kanady.
state = FAILED AND severity = PRIORITY Zawiera tylko nieudane kontrole priorytetowe.

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ń filtra znajdziesz w AIP-160.

Podział na strony

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

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

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

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