Report
包含单个应用包分析的结果,包括合规性检查和数据监控结果。通过检查控制台的合规性和数据监控页面提供的几乎所有数据都可以通过报告以程序化方式访问。
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 |
仅返回公开应用包的报告。 |
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
方法,以提取下一页结果。