查詢報表

Report 包含單一應用程式套件分析的結果,並提供法規遵循檢查和資料監控結果。透過「Checks Console」的「法規遵循」和「資料監控」頁面提供的大多數資料,您都可以透過程式存取。

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 的所有巢狀欄位。

篩選報表

您可以使用 filter 網址查詢參數傳遞篩選運算式,藉此篩選 List 方法傳回的報表。

例如:

運算式 輸出內容
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 網址查詢參數傳送篩選器運算式,藉此篩選報表中的檢查。只有符合篩選條件運算式的檢查才會包含在回應中。ListGet 方法都支援這個參數。

例如:

運算式 輸出內容
state = FAILED 僅包含失敗的檢查。
citations.type:GDPR 僅包含與 GDPR 相關的檢查。
state = FAILED AND citations.type:GDPR 僅包含與 GDRP 相關的失敗檢查。
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 方法,以擷取下一頁的結果。