クエリレポート

Report には、単一のアプリバンドル分析の結果が含まれ、コンプライアンス チェックとデータ モニタリングの結果が含まれます。Checks Console の [コンプライアンス] ページと [データ モニタリング] ページで提供されるデータのほぼすべてに、レポートを通じてプログラムでアクセスできます。

Checks API は、レポートにアクセスするための標準の 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 メソッドのフィールド マスクの例をいくつか示します。

Get

出力
* すべてのフィールドを返します。
name,checks namechecks のすべてのネストされたフィールドを返します。
name,checks(type,state) namechecks.typechecks.state を返します。
name,dataMonitoring namedataMonitoring のすべてのネストされたフィールドを返します。

リスト

出力
* すべてのフィールドを返します。
reports(name,checks) namechecks のすべてのネストされたフィールドを返します。
reports(name,checks(type,state)) namechecks.typechecks.state を返します。
reports(name,dataMonitoring) namedataMonitoring のすべてのネストされたフィールドを返します。

レポートをフィルタ

filter URL クエリ パラメータを使用してフィルタ式を渡すことで、List メソッドが返すレポートをフィルタできます。

次に例を示します。

出力
appBundle.releaseType = PRE_RELEASE プレリリース版の App Bundle のレポートのみを返します。
appBundle.releaseType = PUBLIC 公開アプリバンドルのレポートのみを返します。
appBundle.codeReferenceId = abc123 codeReferenceIdabc123 と等しいレポートを返します。

次のフィールドパスによるフィルタリングはサポートされていません。

  • 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 URL クエリ パラメータを使用してフィルタ式を渡すことで、レポート内のチェックをフィルタできます。フィルタ式に一致するチェックのみがレスポンスに含まれます。このパラメータは、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 個のレポートを返します。この動作を変更するには、pageSize URL クエリ パラメータを設定します。最大値は 50 です。

List メソッドは、取得する結果がまだある場合に nextPageToken を返します。

{
  "reports": [
    ...
  ],
  "nextPageToken": "CAEQ0ITI8K7ngAMaIDY3MThjNjQ3NGZmNzBhZGI4NWI5NjAyN2ViZmQ5MWVh"
}

このトークンを pageToken URL クエリ パラメータを使用して List メソッドに渡し、結果の次のページを取得します。