chrome.syncFileSystem

תיאור

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

Promise
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

הפונקציה מקבלת את מדיניות פתרון ההתנגשויות הנוכחית.

פרמטרים

החזרות

  • גרסה 117 ואילך של Chrome

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getFileStatus()

Promise
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

הפונקציה מחזירה את FileStatus עבור fileEntry הנתון. ערך הסטטוס יכול להיות 'synced', ‏ 'pending' או 'conflicting'. חשוב לדעת שהמצב 'conflicting' מתרחש רק כשמדיניות פתרון ההתנגשויות של השירות מוגדרת כ-'manual'.

פרמטרים

  • fileEntry

    הערך

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

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

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

    (status: FileStatus) => void

החזרות

  • Promise<FileStatus>

    גרסה 117 ואילך של Chrome

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getFileStatuses()

Promise
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

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

פרמטרים

  • fileEntries

    object[]

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

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

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

    (status: FileStatusInfo[]) => void

החזרות

  • Promise<FileStatusInfo[]>

    גרסה 117 ואילך של Chrome

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getServiceStatus()

Promise
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

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

פרמטרים

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

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

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

    (status: ServiceStatus) => void

החזרות

  • Promise<ServiceStatus>

    גרסה 117 ואילך של Chrome

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getUsageAndQuota()

Promise
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

הפונקציה מחזירה את הניצול הנוכחי ואת המכסה הנוכחית בבייט של נפח האחסון של האפליקציה בקובץ 'syncable'.

פרמטרים

  • fileSystem

    DOMFileSystem

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

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

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

    (info: StorageInfo) => void

החזרות

  • Promise<StorageInfo>

    גרסה 117 ואילך של Chrome

    יש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

requestFileSystem()

Promise
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()

Promise
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

הגדרת מדיניות ברירת המחדל לפתרון התנגשויות באחסון הקבצים 'syncable' של האפליקציה. כברירת מחדל, הערך מוגדר ל-'last_write_win'. כשמדיניות פתרון ההתנגשויות מוגדרת כ-'last_write_win', התנגשויות בקבצים קיימים נפתרות באופן אוטומטי בפעם הבאה שהקובץ מתעדכן. אפשר לציין את callback כדי לדעת אם הבקשה הצליחה או לא.

פרמטרים

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