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