یک Report شامل نتیجه تحلیل یک بسته نرمافزاری واحد است و شامل بررسیهای انطباق و نتایج نظارت بر دادهها میشود. تقریباً به تمام دادههایی که از طریق صفحات انطباق و نظارت بر دادهها در کنسول بررسیها ارائه میشوند، میتوان از طریق گزارشها به صورت برنامهنویسی دسترسی پیدا کرد.
API مربوط به Checks متدهای استاندارد Get و List را برای دسترسی به گزارشها ارائه میدهد:
انتخاب کنید کدام فیلدها برگردانده شوند
از آنجا که گزارشها حاوی دادههای زیادی هستند، فقط فیلدهای name و resultsUri به طور پیشفرض برگردانده میشوند. برای برگرداندن مجموعهای متفاوت از فیلدها، آنها را به طور صریح در پارامتر query 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 را با ارسال یک عبارت فیلتر با استفاده از پارامتر query آدرس اینترنتی 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 مراجعه کنید.
فیلتر کردن بررسیها در گزارشها
شما میتوانید با ارسال یک عبارت فیلتر با استفاده از پارامتر 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 گزارش را برمیگرداند. میتوانید این مقدار را با تنظیم پارامتر پرسوجوی pageSize URL تغییر دهید. حداکثر مقدار 50 است.
متد List زمانی که نتایج بیشتری برای واکشی وجود داشته باشد، یک nextPageToken برمیگرداند:
{
"reports": [
...
],
"nextPageToken": "CAEQ0ITI8K7ngAMaIDY3MThjNjQ3NGZmNzBhZGI4NWI5NjAyN2ViZmQ5MWVh"
}
این توکن را با استفاده از پارامتر پرسوجوی URL مربوط به pageToken به متد List ارسال کنید تا صفحه بعدی نتایج را دریافت کنید.