查詢報表

Report 包含單一應用程式套件分析結果,以及法規遵循檢查和資料監控結果。透過報告,您幾乎可以透過程式輔助方式存取檢查控制台「法規遵循」和「資料監控」頁面提供的所有資料。

Checks API 提供標準的 GetList 方法來存取報表:

選取要傳回的欄位

由於報表包含大量資料,因此系統預設只會傳回 nameresultsUri 欄位。如要傳回不同的欄位集,請在 fields 網址查詢參數中明確列出這些欄位。

範例:

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

傳回:

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

您可以使用點語法列出巢狀欄位,也可以將巢狀欄位括在半形括號中。

例如:

fields=checks.type,checks.state

相當於

fields=checks(type,state)

括號也可以遞迴使用,例如:

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

這可讓運算式更簡潔。

fields 查詢參數的值也稱為「欄位遮罩」。詳情請參閱「欄位遮罩」一文。

以下是 GetList 方法的更多欄位遮罩範例:

取得

運算式 輸出
* 傳回所有欄位。
name,checks 傳回 namechecks 的所有巢狀欄位。
name,checks(type,state) 傳回 namechecks.typechecks.state
name,dataMonitoring 傳回 namedataMonitoring 的所有巢狀欄位。

清單

運算式 輸出
* 傳回所有欄位。
reports(name,checks) 傳回 namechecks 的所有巢狀欄位。
reports(name,checks(type,state)) 傳回 namechecks.typechecks.state
reports(name,dataMonitoring) 傳回 namedataMonitoring 的所有巢狀欄位。

篩選報表

如要篩選 List 方法傳回的報表,請使用 filter 網址查詢參數傳遞篩選運算式。

例如:

運算式 輸出
appBundle.releaseType = PRE_RELEASE 只會傳回預先發布的應用程式套件報告。
appBundle.releaseType = PUBLIC 只會傳回公開應用程式套件的報表。
appBundle.codeReferenceId = abc123 傳回 codeReferenceId 等於 abc123 的報表。

系統不支援依下列欄位路徑篩選:

  • 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

如要瞭解如何建立更多篩選運算式,請參閱 AIP-160

篩選報表中的檢查

您可以透過 checksFilter URL 查詢參數傳遞篩選運算式,篩選報表中的檢查。回應中只會包含符合篩選運算式的檢查。ListGet 方法都支援這項參數。

例如:

運算式 輸出
state = FAILED 僅包含失敗的檢查。
citations.type:GDPR 僅包含與《GDPR》相關的檢查。
state = FAILED AND citations.type:GDPR 僅包含與 GDPR 相關的檢查失敗次數。
regionCodes:CA 僅包含與加拿大地區相關的檢查。
state = FAILED AND severity = PRIORITY 僅包含失敗的優先檢查。

系統不支援依下列欄位路徑篩選:

  • 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

如要瞭解如何建立更多篩選運算式,請參閱 AIP-160

分頁

根據預設,List 方法最多會傳回 10 份報表。如要變更這項設定,請設定 pageSize 網址查詢參數。最大值為 50

如有更多結果要擷取,List 方法會傳回 nextPageToken

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

使用 pageToken 網址查詢參數將這個權杖傳遞至 List 方法,即可擷取下一頁的結果。