Отчеты о запросах

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 , чтобы получить следующую страницу результатов.