Report
содержит результаты анализа одного пакета приложений, а также проверки соответствия и результаты мониторинга данных. Почти ко всем данным, которые предлагаются на страницах «Соответствие требованиям» и «Мониторинг данных» консоли проверок, можно получить программный доступ через отчеты.
API Checks предоставляет стандартные методы Get
и List
для доступа к отчетам:
Выберите, какие поля возвращать
Поскольку отчеты содержат много данных, по умолчанию возвращаются только поля name
и resultsUri
. Чтобы вернуть другой набор полей, явно перечислите их в параметре запроса URL-адреса 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 . |
Фильтровать отчеты
Вы можете фильтровать отчеты, возвращаемые методом List
, передавая выражение фильтра с помощью параметра запроса URL- 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 , чтобы узнать, как создавать дополнительные выражения фильтра.
Фильтрация проверок в отчетах
Вы можете фильтровать проверки в отчетах, передавая выражение фильтра с помощью параметра URL-запроса 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
отчетов. Вы можете изменить это, установив параметр запроса URL-адреса pageSize
. Максимальное значение — 50
.
Метод List
возвращает nextPageToken
, когда необходимо получить дополнительные результаты:
{
"reports": [
...
],
"nextPageToken": "CAEQ0ITI8K7ngAMaIDY3MThjNjQ3NGZmNzBhZGI4NWI5NjAyN2ViZmQ5MWVh"
}
Передайте этот токен методу List
, используя параметр запроса URL-адреса pageToken
, чтобы получить следующую страницу результатов.