Report
包含单个 app bundle 分析的结果,其中包括合规性检查和数据监控结果。通过 Checks Console 的合规性和数据监控页面提供的几乎所有数据,都可以通过报告以编程方式访问。
Checks API 提供了访问报告的标准 Get
和 List
方法:
选择要返回的字段
由于报告包含大量数据,因此默认情况下仅返回 name
和 resultsUri
字段。如需返回一组不同的字段,请在 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
查询参数的值也称为字段掩码。如需了解详情,请参阅字段掩码。
以下是 Get
和 List
方法的更多字段掩码示例:
获取
表达式 | 输出 |
---|---|
* |
返回所有字段。 |
name,checks |
返回 name 以及 checks 的所有嵌套字段。 |
name,checks(type,state) |
返回 name 、checks.type 和 checks.state 。 |
name,dataMonitoring |
返回 name 以及 dataMonitoring 的所有嵌套字段。 |
列表
表达式 | 输出 |
---|---|
* |
返回所有字段。 |
reports(name,checks) |
返回 name 以及 checks 的所有嵌套字段。 |
reports(name,checks(type,state)) |
返回 name 、checks.type 和 checks.state 。 |
reports(name,dataMonitoring) |
返回 name 以及 dataMonitoring 的所有嵌套字段。 |
过滤报告…
您可以使用 filter
网址查询参数传递过滤表达式,以过滤 List
方法返回的报告。
下面是一些示例:
表达式 | 输出 |
---|---|
appBundle.releaseType = PRE_RELEASE |
仅返回预发布 app bundle 的报告。 |
appBundle.releaseType = PUBLIC |
仅返回公开 app bundle 的报告。 |
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
网址查询参数传递过滤表达式,以过滤报告中的检查结果。响应中仅包含与过滤条件表达式匹配的检查。List
和 Get
方法均支持此参数。
下面是一些示例:
表达式 | 输出 |
---|---|
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
方法,以获取下一页结果。