Sorgu raporları

Report, tek bir uygulama paketi analizinin sonucunu içerir ve uygunluk kontrolleri ile veri izleme sonuçlarını kapsar. Checks Console'un Uygunluk ve Veri İzleme sayfalarında sunulan verilerin neredeyse tamamına raporlar aracılığıyla programatik olarak erişilebilir.

Checks API, raporlara erişmek için standart Get ve List yöntemleri sunar:

Hangi alanların döndürüleceğini seçin

Raporlar çok fazla veri içerdiğinden varsayılan olarak yalnızca name ve resultsUri alanları döndürülür. Farklı bir alan grubu döndürmek için bunları fields URL sorgu parametresinde açıkça listeleyin.

Örnek:

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

Şunu döndürür:

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

İç içe yerleştirilmiş alanlar, nokta söz dizimi kullanılarak veya parantez içine alınarak listelenebilir.

Örneğin,

fields=checks.type,checks.state

eş değerdir:

fields=checks(type,state)

Parantezler, aşağıdaki örnekte olduğu gibi yinelemeli olarak da kullanılabilir:

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

Bu sayede ifadeler daha kısa olabilir.

fields sorgu parametresinin değeri alan maskesi olarak da bilinir. Daha fazla bilgi edinmek için Alan maskeleri bölümünü inceleyin.

Aşağıda, Get ve List yöntemleri için daha fazla alan maskesi örneği verilmiştir:

Get

İfade Çıkış
* Tüm alanları döndürür.
name,checks name ve checks'nin tüm iç içe alanlarını döndürür.
name,checks(type,state) İadeler name, checks.type ve checks.state.
name,dataMonitoring name ve dataMonitoring'nin tüm iç içe alanlarını döndürür.

Liste

İfade Çıkış
* Tüm alanları döndürür.
reports(name,checks) name ve checks'nin tüm iç içe alanlarını döndürür.
reports(name,checks(type,state)) İadeler name, checks.type ve checks.state.
reports(name,dataMonitoring) name ve dataMonitoring'nin tüm iç içe alanlarını döndürür.

Raporları filtreleme

List yöntemi tarafından döndürülen raporları, filter URL sorgu parametresini kullanarak bir filtre ifadesi ileterek filtreleyebilirsiniz.

Aşağıda bazı örnekler verilmiştir:

İfade Çıkış
appBundle.releaseType = PRE_RELEASE Yalnızca yayın öncesi uygulama paketlerinin raporlarını döndürür.
appBundle.releaseType = PUBLIC Yalnızca herkese açık uygulama paketlerinin raporlarını döndürür.
appBundle.codeReferenceId = abc123 codeReferenceId değerinin abc123 değerine eşit olduğu raporları döndürür.

Bu alan yollarına göre filtreleme desteklenmez:

  • 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

Daha fazla filtre ifadesi oluşturmayı öğrenmek için AIP-160'ı inceleyin.

Raporlardaki kontrolleri filtreleme

checksFilter URL sorgu parametresini kullanarak bir filtre ifadesi ileterek raporlardaki kontrolleri filtreleyebilirsiniz. Yanıt yalnızca filtre ifadesiyle eşleşen kontrolleri içerir. Bu parametre hem List hem de Get yöntemleri tarafından desteklenir.

Aşağıda bazı örnekler verilmiştir:

İfade Çıkış
state = FAILED Yalnızca başarısız kontrolleri içerir.
citations.type:GDPR Yalnızca GDPR ile ilgili kontrolleri içerir.
state = FAILED AND citations.type:GDPR Yalnızca GDPR ile ilgili başarısız kontrolleri içerir.
regionCodes:CA Yalnızca Kanada bölgesiyle ilgili kontrolleri içerir.
state = FAILED AND severity = PRIORITY Yalnızca başarısız öncelik kontrollerini içerir.

Bu alan yollarına göre filtreleme desteklenmez:

  • 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

Daha fazla filtre ifadesi oluşturmayı öğrenmek için AIP-160'ı inceleyin.

Sayfalara ayırma

Varsayılan olarak List yöntemi en fazla 10 rapor döndürür. pageSize URL sorgu parametresini ayarlayarak bu durumu değiştirebilirsiniz. Maksimum değer 50'dır.

List yöntemi, getirilecek daha fazla sonuç olduğunda nextPageToken döndürür:

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

Sonuçların bir sonraki sayfasını getirmek için bu jetonu pageToken URL sorgu parametresini kullanarak List yöntemine iletin.