תיאור
שימוש ב-API של chrome.syncFileSystem
כדי לשמור ולסנכרן נתונים ב-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)
"מסונכרן"
לא מתנגש ואין לו שינויים מקומיים בהמתנה.
"pending"
קיים שינוי מקומי אחד או יותר בהמתנה שלא סונכרנו.
"conflicting"
קובץ מתנגש עם הגרסה המרוחקת וצריך לפתור אותו באופן ידני.
FileStatusInfo
תכונות
-
error
מחרוזת אופציונלי
שגיאה אופציונלית שמוחזרת רק אם הייתה בעיה באחזור של סטטוס הקובץ של הקובץ הנתון.
-
fileEntry
החלק
אחת מהרשומה שניתנה במקור ל-getFileStatuses.
-
status
ערך הסטטוס יכול להיות
'synced'
,'pending'
או'conflicting'
.
ServiceInfo
תכונות
-
תיאור
מחרוזת
-
state
ServiceStatus
טיפוסים בני מנייה (enum)
"initializing"
שירות הסנכרון מאתחל (למשל, שחזור נתונים ממסד הנתונים, בדיקת קישוריות ואימות לשירות וכו').
"running"
שירות הסנכרון פועל.
"authentication_required"
שירות הסנכרון לא מסנכרן קבצים כי המשתמש צריך לאמת את השירות המרוחק כדי להמשיך.
'temporary_unavailable'
שירות הסנכרון לא מסנכרן קבצים כי השירות המרוחק לא זמין (באופן זמני) בגלל שגיאות מסוימות שניתנות לשחזור, למשל הרשת במצב אופליין, השירות המרוחק או לא זמין וכו'. צריך לספק פרטים נוספים לפי הפרמטר description
ב-OnServiceInfoUpdated (שיכול להכיל פרטים ספציפיים לשירות).
"מושבת"
שירות הסנכרון מושבת והתוכן לא יסונכרן אף פעם. (לדוגמה, זה יכול לקרות כאשר למשתמש אין חשבון בשירות המרוחק או שאירעה שגיאה שלא ניתן לשחזר בשירות הסנכרון.)
StorageInfo
תכונות
-
quotaBytes
מספר
-
usageBytes
מספר
SyncAction
טיפוסים בני מנייה (enum)
SyncDirection
טיפוסים בני מנייה (enum)
"local_to_remote"
"remote_to_local"
שיטות
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 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
מחזירה כל FileStatus
עבור מערך fileEntry
הנתון. הקריאה הזו נקראת בדרך כלל עם התוצאה מ-dirReader.readEntries().
פרמטרים
-
fileEntries
אובייקט[]
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(status: FileStatusInfo[]) => void
-
status
-
החזרות
-
Promise<FileStatusInfo[]>
Chrome 117 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
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>
Chrome 117 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
)
מחזירה מערכת קבצים שניתן לסנכרן עם Google Drive. ניתן להפעיל את המופע של DOMFileSystem
שמוחזר באותו אופן כמו מערכות הקבצים הזמניות והקבועות (מידע נוסף זמין בכתובת http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
הפעלה של הפעולה הזו כמה פעמים מאותה אפליקציה תחזיר את אותו כינוי לאותה מערכת קבצים.
חשוב לזכור שהשיחה עשויה להיכשל. לדוגמה, אם המשתמש לא מחובר ל-Chrome או אם לא מתבצעת פעולה ברשת. כדי לטפל בשגיאות האלה, חשוב לבדוק את הפונקציה chrome.runtime.lastError בקריאה החוזרת.
פרמטרים
-
קריאה חוזרת (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
-
פרט
-