תיאור
שימוש ב-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
'מסונכרן'
לא מתנגש ואין בו שינויים מקומיים בהמתנה.
"בהמתנה"
יש שינוי מקומי אחד או יותר בהמתנה שלא סונכרנו.
"מתנגש"
הקובץ מתנגש עם גרסה מרוחקת, וצריך לפתור את הבעיה באופן ידני.
FileStatusInfo
מאפיינים
-
error
מחרוזת אופציונלי
שגיאה אופציונלית שמוחזרת רק אם הייתה בעיה באחזור FileStatus של הקובץ הנתון.
-
fileEntry
הערך
אחד הערכים שניתנו במקור כדי getFileStatuses.
-
status
ערך הסטטוס יכול להיות
'synced'
,'pending'
או'conflicting'
.
ServiceInfo
מאפיינים
-
תיאור
מחרוזת
-
הסמוי הסופי
ServiceStatus
Enum
"אתחול"
שירות הסנכרון מופעל (למשל, שחזור נתונים ממסד הנתונים, בדיקת קישוריות ואימות לשירות וכו').
"פועל"
שירות הסנכרון פועל.
"authentication_required"
שירות הסנכרון לא מסנכרן קבצים כי המשתמש צריך לאמת את השירות המרוחק כדי להמשיך.
"temporary_unavailable"
שירות הסנכרון לא מסנכרן קבצים כי השירות המרוחק (זמני) לא זמין בגלל שגיאות שניתן לשחזר, למשל. הרשת במצב אופליין, השירות המרוחק מושבת או לא זמין וכו'. צריך לספק פרטים נוספים באמצעות הפרמטר description
ב-OnServiceInfoUpdated (שיכול לכלול פרטים ספציפיים לשירות).
"מושבת"
שירות הסנכרון מושבת והתוכן אף פעם לא יסונכרן. (למשל, מצב כזה יכול לקרות כשלמשתמש אין חשבון בשירות המרוחק או כשיש שגיאה שלא ניתן לשחזר בשירות הסנכרון.)
StorageInfo
מאפיינים
-
quotaBytes
number
-
usageBytes
number
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
object[]
-
קריאה חוזרת (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
שמוחזרת באותו אופן כמו במערכות הקבצים הזמניות וה-Persistant (מידע נוסף זמין בכתובת 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
החזרות
-
הבטחה<Empty>
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
-
פרט
-