chrome.syncFileSystem

شرح

از chrome.syncFileSystem API برای ذخیره و همگام‌سازی داده‌ها در Google Drive استفاده کنید. این میانای برنامه‌سازی کاربردی برای دسترسی به اسناد دلخواه کاربر که در Google Drive ذخیره شده‌اند نیست. این میانای برنامه‌سازی کاربردی فضای ذخیره‌سازی همگام‌سازی‌شدنی مختص برنامه را برای استفاده آفلاین و ذخیره موقت ارائه می‌دهد تا داده‌های یکسان در کلاینت‌های مختلف دردسترس باشد. برای اطلاعات بیشتر درباره استفاده از این میانای برنامه‌سازی کاربردی، مدیریت داده‌ها را بخوانید.

اجازه‌ها

syncFileSystem

انواع

ConflictResolutionPolicy

شمارشی

"last_write_win"

«manual»

FileInfo

مشخصات

  • کنش

    SyncAction اختیاری

    کنش همگام‌سازی برای راه‌اندازی رویداد onFileStatusChanged انجام شد. مقدار کنش می‌تواند 'added'، 'updated'، یا 'deleted' باشد. فقط درصورتی اعمال می‌شود که وضعیت 'synced' باشد.

  • جهت

    SyncDirection اختیاری

    جهت همگام‌سازی برای رویداد onFileStatusChanged. مقدار جهت همگام‌سازی می‌تواند 'local_to_remote' یا 'remote_to_local' باشد. فقط درصورتی اعمال می‌شود که وضعیت 'synced' باشد.

  • fileEntry

    بلیت ورودی

    fileEntry برای فایل هدف که وضعیت آن تغییر کرده است. حاوی اطلاعات نام و مسیر فایل همگام‌سازی‌شده است. درصورت حذف فایل، اطلاعات fileEntry همچنان دردسترس خواهد بود اما فایل دیگر وجود نخواهد داشت.

  • وضعیت

    وضعیت فایل حاصل پس‌از رویداد onFileStatusChanged. مقدار وضعیت می‌تواند 'synced'، 'pending'، یا 'conflicting' باشد.

FileStatus

شمارشی

«همگام‌سازی‌شده»
تداخلی ندارد و تغییرات محلی معلقه ندارد.

«درحال انتظار»
یک یا چند تغییر محلی درحال انتظار دارد که همگام‌سازی نشده است.

«conflicting»
فایل با نسخه راه دور تداخل دارد و باید به‌صورت دستی حل شود.

FileStatusInfo

مشخصات

  • خطا

    رشته اختیاری

    خطای اختیاری که فقط درصورت وجود مشکل در بازیابی FileStatus برای فایل ارائه‌شده برگردانده می‌شود.

  • fileEntry

    بلیت ورودی

    یکی از ورودی‌هایی که دراصل به getFileStatuses داده شده است.

  • وضعیت

    مقدار وضعیت می‌تواند 'synced'، 'pending'، یا 'conflicting' باشد.

ServiceInfo

مشخصات

ServiceStatus

شمارشی

«درحال مقداردهی اولیه»
سرویس همگام‌سازی درحال مقداردهی اولیه است (مثلاً بازیابی داده‌ها از پایگاه داده، بررسی اتصال و اصالت‌سنجی در سرویس و غیره).

«درحال اجرا»
سرویس همگام‌سازی فعال و درحال اجرا است.

"authentication_required"
سرویس همگام‌سازی فایل‌ها را همگام‌سازی نمی‌کند زیرا سرویس از راه دور برای ادامه دادن باید توسط کاربر اصالت‌سنجی شود.

"temporary_unavailable"
سرویس همگام‌سازی فایل‌ها را همگام‌سازی نمی‌کند زیرا سرویس راه دور به‌دلیل برخی خطاهای قابل‌بازیابی (به‌طور موقت) دردسترس نیست، مثلاً شبکه آفلاین است، سرویس راه دور قطع است یا قابل‌دسترسی نیست، و غیره. جزئیات بیشتر باید توسط پارامتر description در OnServiceInfoUpdated (که می‌تواند حاوی جزئیات خاص سرویس باشد) ارائه شود.

«غیرفعال»
سرویس همگام‌سازی غیرفعال است و محتوا هرگز همگام‌سازی نخواهد شد. (برای مثال، این اتفاق ممکن است زمانی رخ دهد که کاربر حسابی در سرویس راه دور نداشته باشد یا سرویس همگام‌سازی با خطای غیرقابل‌بازیابی مواجه شده باشد.)

StorageInfo

مشخصات

  • quotaBytes

    شماره

  • usageBytes

    شماره

SyncAction

شمارشی

«اضافه‌شده»

«به‌روزرسانی‌شده»

«حذف‌شده»

SyncDirection

شمارشی

"local_to_remote"

"remote_to_local"

روش‌ها

getConflictResolutionPolicy()

قول
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

خط‌مشی حل‌وفصل کردن تعارض فعلی را دریافت می‌کند.

پارامترها

بازگشتی‌ها

  • Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getFileStatus()

قول
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

FileStatus را برای fileEntry داده‌شده برمی‌گرداند. مقدار وضعیت می‌تواند 'synced'، 'pending'، یا 'conflicting' باشد. توجه داشته باشید که حالت 'conflicting' فقط زمانی اتفاق می‌افتد که خط‌مشی حل‌وفصل تعارض سرویس روی 'manual' تنظیم شده باشد.

پارامترها

  • fileEntry

    بلیت ورودی

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (status: FileStatus) => void

بازگشتی‌ها

  • Promise<FileStatus>

    Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getFileStatuses()

قول
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

هر FileStatus را برای آرایه fileEntry داده‌شده برمی‌گرداند. معمولاً با نتیجه dirReader.readEntries()‎ فراخوانی می‌شود.

پارامترها

  • fileEntries

    object[]

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (status: FileStatusInfo[]) => void

بازگشتی‌ها

  • Promise<FileStatusInfo[]>

    Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getServiceStatus()

قول
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

وضعیت فعلی همگام‌سازی پس‌زمینه را برمی‌گرداند.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (status: ServiceStatus) => void

بازگشتی‌ها

  • Promise<ServiceStatus>

    Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getUsageAndQuota()

قول
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

مصرف و سهمیه فعلی را به بایت برای فضای ذخیره‌سازی فایل 'syncable' برای برنامه برمی‌گرداند.

پارامترها

  • fileSystem

    DOMFileSystem

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (info: StorageInfo) => void

بازگشتی‌ها

  • Promise<StorageInfo>

    Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

requestFileSystem()

قول
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

سیستم فایل قابل‌همگام‌سازی را که توسط 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 نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

setConflictResolutionPolicy()

قول
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

خط‌مشی پیش‌فرض حل تعارض را برای فضای ذخیره‌سازی فایل 'syncable' برای برنامه تنظیم می‌کند. به‌طور پیش‌فرض روی 'last_write_win' تنظیم شده است. وقتی خط‌مشی حل‌وفصل تداخل روی 'last_write_win' تنظیم شده باشد، تداخل‌های فایل‌های موجود دفعه بعد که فایل به‌روزرسانی شود به‌طور خودکار حل‌وفصل می‌شود. callback را می‌توان به‌صورت اختیاری ارائه کرد تا مشخص شود درخواست موفقیت‌آمیز بوده است یا نه.

پارامترها

  • خط‌مشی
  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۱۱۷ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

رویدادها

onFileStatusChanged

chrome.syncFileSystem.onFileStatusChanged.addListener(
  callback: function,
)

وقتی فایلی توسط سرویس همگام‌سازی پس‌زمینه به‌روزرسانی می‌شود، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (detail: FileInfo) => void

onServiceStatusChanged

chrome.syncFileSystem.onServiceStatusChanged.addListener(
  callback: function,
)

وقتی خطایی یا تغییر وضعیت دیگری در پس‌زمینه همگام‌سازی رخ داده باشد (برای مثال، وقتی همگام‌سازی به‌طور موقت به‌دلیل خطای شبکه یا اصالت‌سنجی غیرفعال شده باشد) فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (detail: ServiceInfo) => void