شرح
از 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
مشخصات
-
description
رشته
-
ایالت
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>
خطمشی حلوفصل کردن تعارض فعلی را دریافت میکند.
پارامترها
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(policy: ConflictResolutionPolicy) => void
-
خطمشی
-
بازگشتیها
-
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
-
جزئیات
-