דוחות שאילתות

קובץ Report מכיל תוצאה של ניתוח App Bundle יחיד, והוא כולל את בדיקות התאימות ואת התוצאות של המעקב אחר הנתונים. כמעט כל הנתונים שזמינים בדפים Compliance ו-Data Monitoring ב-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:

הורדה

ביטוי פלט
* מחזירה את כל השדות.
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 הפונקציה מחזירה רק דוחות של קובצי App Bundle בשלב טרום-השקה.
appBundle.releaseType = PUBLIC הפונקציה מחזירה רק דוחות על קובצי App Bundle ציבוריים.
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 דוחות. אפשר לשנות אותו על ידי הגדרת פרמטר השאילתה pageSize בכתובת ה-URL. הערך המקסימלי הוא 50.

השיטה List מחזירה nextPageToken כאשר יש יותר תוצאות לשליפה:

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

מעבירים את האסימון הזה ל-method List באמצעות פרמטר השאילתה של כתובת ה-URL pageToken, כדי לאחזר את דף התוצאות הבא.