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