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

'מסונכרן'
לא מתנגש ואין בו שינויים מקומיים בהמתנה.

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

"מתנגש"
הקובץ מתנגש עם גרסה מרוחקת, וצריך לפתור את הבעיה באופן ידני.

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

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

פרמטרים

החזרות

  • 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

    object[]

  • קריאה חוזרת (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 שמוחזרת באותו אופן כמו במערכות הקבצים הזמניות וה-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 כדי לדעת אם הבקשה הצליחה או לא.

פרמטרים

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