chrome.syncFileSystem

תיאור

שימוש ב-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

תכונות

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,
)

קבלת המדיניות הנוכחית בנושא יישוב סכסוכים.

פרמטרים

החזרות

  • 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

החזרות

  • Promise<FileStatus>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getFileStatuses()

הבטחה
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

מחזירה כל FileStatus עבור מערך fileEntry הנתון. הקריאה הזו נקראת בדרך כלל עם התוצאה מ-dirReader.readEntries().

פרמטרים

  • fileEntries

    אובייקט[]

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (status: FileStatusInfo[])=>void

החזרות

  • Promise<FileStatusInfo[]>

    Chrome 117 ומעלה

    הבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

getServiceStatus()

הבטחה
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

מחזירה את הסטטוס הנוכחי של הסנכרון העורפי.

פרמטרים

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (status: ServiceStatus)=>void

החזרות

  • 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 כדי לדעת אם הבקשה הצליחה או לא.

פרמטרים

  • קריאה חוזרת (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