گزارش های پرس و جو

یک Report حاوی نتیجه تجزیه و تحلیل یک بسته نرم افزاری است و شامل بررسی های انطباق و نتایج پایش داده ها است. تقریباً تمام داده‌هایی که از طریق صفحه‌های Compliance و Data Monitoring کنسول Checks ارائه می‌شوند، به‌صورت برنامه‌ریزی از طریق گزارش‌ها قابل دسترسی هستند.

Checks API متدهای استاندارد Get and 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 and 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 را با ارسال یک عبارت فیلتر با استفاده از پارامتر filter URL فیلتر کنید.

در اینجا چند نمونه آورده شده است:

اصطلاح خروجی
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 مراجعه کنید.

بررسی های فیلتر در گزارش ها

می‌توانید چک‌ها را در گزارش‌ها با ارسال یک عبارت فیلتر با استفاده از پارامتر query 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"
}

این نشانه را با استفاده از پارامتر query URL pageToken به روش List ارسال کنید تا صفحه بعدی نتایج را واکشی کنید.