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

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