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