תיאור
אפשר להשתמש ב-API של chrome.syncFileSystem כדי לשמור ולסנכרן נתונים ב-Google Drive. ה-API הזה לא מיועד לגישה למסמכי משתמשים שרירותיים שמאוחסנים ב-Google Drive. הוא מספק נפח אחסון ספציפי לאפליקציה שניתן לסנכרן לשימוש אופליין ולשמירה במטמון, כך שאותם נתונים יכולים להיות זמינים בלקוחות שונים. מידע נוסף על השימוש ב-API הזה זמין במאמר ניהול נתונים.
הרשאות
syncFileSystemסוגים
ConflictResolutionPolicy
טיפוסים בני מנייה (enum)
"last_write_win"
"manual"
FileInfo
מאפיינים
-
פעולה
SyncAction אופציונלי
פעולת הסנכרון שבוצעה כדי להפעיל את האירוע
onFileStatusChanged. ערך הפעולה יכול להיות'added','updated'או'deleted'. רלוונטי רק אם הסטטוס הוא'synced'. -
direction
SyncDirection אופציונלי
כיוון הסנכרון של האירוע
onFileStatusChanged. הערך של כיוון הסנכרון יכול להיות'local_to_remote'או'remote_to_local'. רלוונטי רק אם הסטטוס הוא'synced'. -
fileEntry
הערך
fileEntryשל קובץ היעד שהסטטוס שלו השתנה. מכיל את השם והנתיב של הקובץ המסונכרן. כשמוחקים קובץ, המידע שלfileEntryעדיין זמין אבל הקובץ לא קיים יותר. -
status
סטטוס הקובץ שנוצר אחרי אירוע
onFileStatusChanged. ערך הסטטוס יכול להיות'synced','pending'או'conflicting'.
FileStatus
טיפוסים בני מנייה (enum)
"synced"
אין התנגשות ואין שינויים מקומיים בהמתנה.
"בהמתנה"
יש שינוי מקומי אחד או יותר בהמתנה שלא סונכרן.
"conflicting"
הקובץ מתנגש עם הגרסה המרוחקת וצריך לפתור את הבעיה באופן ידני.
FileStatusInfo
מאפיינים
-
error
מחרוזת אופציונלי
שגיאה אופציונלית שמוחזרת רק אם הייתה בעיה באחזור של FileStatus בקובץ הנתון.
-
fileEntry
הערך
אחד מהרשומות שניתנו במקור ל-getFileStatuses.
-
status
ערך הסטטוס יכול להיות
'synced','pending'או'conflicting'.
ServiceInfo
מאפיינים
-
תיאור
מחרוזת
-
מדינה (State)
ServiceStatus
טיפוסים בני מנייה (enum)
"initializing"
שירות הסנכרון עובר אתחול (למשל, שחזור נתונים ממסד הנתונים, בדיקת קישוריות ואימות לשירות וכו').
"running"
שירות הסנכרון פועל.
"authentication_required"
שירות הסנכרון לא מסנכרן קבצים כי המשתמש צריך לאמת את השירות המרוחק כדי להמשיך.
"temporary_unavailable"
שירות הסנכרון לא מסנכרן קבצים כי השירות מרחוק לא זמין (באופן זמני) בגלל שגיאות שניתן לתקן, למשל: הרשת במצב אופליין, השירות מרחוק מושבת או שאי אפשר להגיע אליו וכו'. פרטים נוספים צריכים להינתן על ידי הפרמטר description ב-OnServiceInfoUpdated (שיכול להכיל פרטים ספציפיים לשירות).
"disabled"
שירות הסנכרון מושבת והתוכן לא יסונכרן אף פעם. (לדוגמה, זה יכול לקרות אם למשתמש אין חשבון בשירות המרוחק או אם הייתה שגיאה שבעקבותיה אי אפשר לשחזר את שירות הסנכרון).
StorageInfo
מאפיינים
-
quotaBytes
number
-
usageBytes
number
SyncAction
טיפוסים בני מנייה (enum)
"נוסף"
"updated"
"deleted"
SyncDirection
טיפוסים בני מנייה (enum)
"local_to_remote"
"remote_to_local"
Methods
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
הצגת המדיניות הנוכחית לפתרון התנגשויות.
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(policy: ConflictResolutionPolicy) => void
-
מדיניות
-
החזרות
-
Promise<ConflictResolutionPolicy>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
הפונקציה מחזירה את FileStatus של fileEntry נתון. ערך הסטטוס יכול להיות 'synced', 'pending' או 'conflicting'. חשוב לדעת שהמצב 'conflicting' קורה רק כשמדיניות פתרון המחלוקות של השירות מוגדרת כ-'manual'.
פרמטרים
-
fileEntry
הערך
-
callback
function optional
הפרמטר
callbackנראה כך:(status: FileStatus) => void
-
status
-
החזרות
-
Promise<FileStatus>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
מחזירה כל FileStatus עבור המערך הנתון של fileEntry. בדרך כלל נקראת עם התוצאה מ-dirReader.readEntries().
פרמטרים
-
fileEntries
object[]
-
callback
function optional
הפרמטר
callbackנראה כך:(status: FileStatusInfo[]) => void
-
status
-
החזרות
-
Promise<FileStatusInfo[]>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
הפונקציה מחזירה את הסטטוס הנוכחי של הקצה העורפי של הסנכרון.
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(status: ServiceStatus) => void
-
status
-
החזרות
-
Promise<ServiceStatus>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
הפונקציה מחזירה את השימוש הנוכחי ואת המכסה בבייטים של אחסון הקבצים של 'syncable' באפליקציה.
פרמטרים
-
fileSystem
DOMFileSystem
-
callback
function optional
הפרמטר
callbackנראה כך:(info: StorageInfo) => void
-
מידע
-
החזרות
-
Promise<StorageInfo>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
הפונקציה מחזירה מערכת קבצים שניתנת לסנכרון ומגובה על ידי Google Drive. אפשר להפעיל את המופע DOMFileSystem שמוחזר באותו אופן כמו מערכות הקבצים הזמניות והקבועות (ראו http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
אם קוראים לשיטה הזו כמה פעמים מאותה אפליקציה, היא תחזיר את אותו נקודת אחיזה לאותה מערכת קבצים.
חשוב לזכור שהקריאה הזו יכולה להיכשל. לדוגמה, אם המשתמש לא מחובר ל-Chrome או אם אין פעולת רשת. כדי לטפל בשגיאות האלה, חשוב לבדוק את chrome.runtime.lastError בקריאה החוזרת (callback).
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
החזרות
-
Promise<DOMFileSystem>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
הגדרת מדיניות ברירת המחדל לפתרון התנגשויות באחסון הקבצים של 'syncable' באפליקציה. ברירת המחדל היא 'last_write_win'. כשהמדיניות לפתרון התנגשויות מוגדרת כ-'last_write_win', התנגשויות בקבצים קיימים נפתרות באופן אוטומטי בפעם הבאה שהקובץ מתעדכן. אפשר להוסיף את callback כדי לדעת אם הבקשה הצליחה או לא.
פרמטרים
-
מדיניות
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 117 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
אירועים
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
מופעל כשקובץ עודכן על ידי שירות הסנכרון ברקע.
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
מופעל כשמתרחשת שגיאה או שינוי סטטוס אחר בקצה העורפי של הסנכרון (לדוגמה, כשהסנכרון מושבת באופן זמני בגלל שגיאה ברשת או באימות).
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(detail: ServiceInfo) => void
-
פרט
-