Report מכיל את התוצאה של ניתוח חבילת אפליקציה אחת וכולל את בדיקות התאימות ואת תוצאות המעקב אחר הנתונים. אפשר לגשת באופן פרוגרמטי לרוב הנתונים שמוצגים בדוחות, דרך הדפים תאימות ומעקב אחר נתונים ב-Checks Console.
ב-Checks API יש שיטות סטנדרטיות 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 נקרא גם field mask. מידע נוסף זמין במאמר בנושא Field masks.
בהמשך מופיעות דוגמאות נוספות למסכות שדות לשיטות 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. |
סינון דוחות
כדי לסנן את הדוחות שמוחזרים על ידי ה-method List, מעבירים ביטוי מסנן באמצעות פרמטר השאילתה filter של כתובת ה-URL.
הנה כמה דוגמאות:
| ביטוי | פלט |
|---|---|
appBundle.releaseType = PRE_RELEASE |
הפונקציה מחזירה רק דוחות של חבילות App Bundle בטרום-הפצה. |
appBundle.releaseType = PUBLIC |
הפונקציה מחזירה רק דוחות של חבילות App Bundle ציבוריות. |
appBundle.codeReferenceId = abc123 |
מחזירה דוחות שבהם codeReferenceId שווה ל-abc123. |
אי אפשר לסנן לפי נתיבי השדות האלה:
checks.evidence.dataTypes.dataTypeEvidence.endpoints.attributedSdks.sdk.idchecks.evidence.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domainchecks.evidence.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContentchecks.evidence.privacyPolicyTexts.policyFragment.htmlContentchecks.evidence.sdkIssues.sdk.iddataMonitoring.dataTypes.dataTypeEvidence.endpoints.attributedSdks.sdk.iddataMonitoring.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domaindataMonitoring.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContentdataMonitoring.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.sourceUridataMonitoring.permissions.metadata.lastDetectedAppVersionresultsUri
במאמר 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.idevidence.dataTypes.dataTypeEvidence.endpoints.endpointDetails.endpoint.domainevidence.dataTypes.dataTypeEvidence.privacyPolicyTexts.policyFragment.htmlContentevidence.privacyPolicyTexts.policyFragment.htmlContentevidence.sdkIssues.sdk.id
במאמר AIP-160 מוסבר איך ליצור עוד ביטויי מסננים.
חלוקה לדפים
כברירת מחדל, השיטה List מחזירה לכל היותר 10 דוחות. אפשר לשנות את ההגדרה הזו באמצעות הפרמטר של שאילתת כתובת ה-URL pageSize. הערך המקסימלי הוא 50.
השיטה List מחזירה nextPageToken אם יש עוד תוצאות לאחזור:
{
"reports": [
...
],
"nextPageToken": "CAEQ0ITI8K7ngAMaIDY3MThjNjQ3NGZmNzBhZGI4NWI5NjAyN2ViZmQ5MWVh"
}
מעבירים את האסימון הזה לשיטה List באמצעות פרמטר השאילתה של כתובת ה-URL pageToken כדי לאחזר את דף התוצאות הבא.