chrome.syncFileSystem

الوصف

استخدِم واجهة برمجة التطبيقات chrome.syncFileSystem لحفظ البيانات ومزامنتها على Google Drive. لا تُستخدَم واجهة برمجة التطبيقات هذه للوصول إلى مستندات المستخدمين العشوائية المخزَّنة في Google Drive. وهي توفّر مساحة تخزين قابلة للمزامنة خاصة بالتطبيق لاستخدامها بلا إنترنت وللتخزين المؤقت، ما يتيح توفير البيانات نفسها على جميع الأجهزة المختلفة. يمكنك الاطّلاع على إدارة البيانات لمعرفة المزيد عن استخدام واجهة برمجة التطبيقات هذه.

الأذونات

syncFileSystem

الأنواع

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

الخصائص

  • إجراء

    SyncAction اختياري

    إجراء المزامنة الذي تم اتخاذه لتفعيل الحدث onFileStatusChanged يمكن أن تكون قيمة الإجراء 'added' أو 'updated' أو 'deleted'. لا ينطبق هذا الإجراء إلا إذا كانت الحالة 'synced'.

  • اتجاه

    SyncDirection اختياري

    تمثّل هذه السمة اتجاه المزامنة للحدث onFileStatusChanged. يمكن أن تكون قيمة اتجاه المزامنة 'local_to_remote' أو 'remote_to_local'. لا ينطبق هذا الإجراء إلا إذا كانت الحالة 'synced'.

  • fileEntry

    إدخال

    fileEntry للملف المستهدف الذي تم تغيير حالته يحتوي على معلومات الاسم والمسار للملف الذي تمت مزامنته. عند حذف الملف، ستظل معلومات fileEntry متاحة ولكن لن يعود الملف متوفّرًا.

  • status

    حالة الملف الناتجة بعد الحدث onFileStatusChanged يمكن أن تكون قيمة الحالة 'synced' أو 'pending' أو 'conflicting'.

FileStatus

Enum

"مزامنة"
لا يوجد تعارض ولا توجد تغييرات محلية معلّقة.

"في انتظار المراجعة"
يتضمّن تغييرًا واحدًا أو أكثر في الملف المحلي لم تتم مزامنته.

"متعارض"
يتعارض الملف مع النسخة البعيدة ويجب حلّ التعارض يدويًا.

FileStatusInfo

الخصائص

  • خطأ

    سلسلة اختيارية

    خطأ اختياري يتم عرضه فقط إذا حدثت مشكلة أثناء استرداد FileStatus للملف المحدّد.

  • fileEntry

    إدخال

    أحد الإدخالات التي تم تقديمها في الأصل إلى getFileStatuses.

  • status

    يمكن أن تكون قيمة الحالة 'synced' أو 'pending' أو 'conflicting'.

ServiceInfo

الخصائص

ServiceStatus

Enum

"جارٍ التهيئة"
تتم تهيئة خدمة المزامنة (مثل استعادة البيانات من قاعدة البيانات والتحقّق من الاتصال والمصادقة على الخدمة وما إلى ذلك).

"قيد التشغيل"
خدمة المزامنة تعمل بشكل سليم.

‫"authentication_required"
لا تعمل خدمة المزامنة على مزامنة الملفات لأنّ الخدمة البعيدة تتطلّب مصادقة المستخدم للمتابعة.

‫"temporary_unavailable"
لا تعمل خدمة المزامنة على مزامنة الملفات لأنّ الخدمة البعيدة غير متاحة (مؤقتًا) بسبب بعض الأخطاء التي يمكن إصلاحها، مثل عدم توفّر الشبكة أو تعذّر الوصول إلى الخدمة البعيدة أو توقّفها وما إلى ذلك. يجب تقديم المزيد من التفاصيل من خلال المَعلمة description في OnServiceInfoUpdated (التي يمكن أن تحتوي على تفاصيل خاصة بالخدمة).

"disabled"
يتم إيقاف خدمة المزامنة ولن تتم مزامنة المحتوى أبدًا. (على سبيل المثال، قد يحدث ذلك عندما لا يكون لدى المستخدم حساب على الخدمة البعيدة أو عندما يواجه خدمة المزامنة خطأً لا يمكن استرداده).

StorageInfo

الخصائص

  • quotaBytes

    الرقم

  • usageBytes

    الرقم

SyncAction

Enum

"added"

"updated"

"deleted"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

الطُرق

getConflictResolutionPolicy()

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

تعرض هذه السمة سياسة حل التعارض الحالية.

المعلمات

المرتجعات

  • الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getFileStatus()

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

تعرض هذه الدالة FileStatus لقيمة fileEntry المحدّدة. يمكن أن تكون قيمة الحالة 'synced' أو 'pending' أو 'conflicting'. يُرجى العِلم أنّ حالة 'conflicting' تحدث فقط عندما يتم ضبط سياسة حل التعارض في الخدمة على 'manual'.

المعلمات

  • fileEntry

    إدخال

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (status: FileStatus) => void

المرتجعات

  • Promise<FileStatus>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getFileStatuses()

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

تعرض هذه الدالة كل FileStatus للصفيف fileEntry المحدّد. يتم استدعاؤه عادةً مع النتيجة من dirReader.readEntries().

المعلمات

  • fileEntries

    object[]

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (status: FileStatusInfo[]) => void

المرتجعات

  • Promise<FileStatusInfo[]>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getServiceStatus()

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

تعرِض هذه السمة حالة الخلفية الحالية للمزامنة.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (status: ServiceStatus) => void

المرتجعات

  • Promise<ServiceStatus>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getUsageAndQuota()

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

تعرض هذه السمة الاستخدام والحصة الحاليَين بالبايت لمساحة تخزين الملفات 'syncable' الخاصة بالتطبيق.

المعلمات

  • fileSystem

    DOMFileSystem

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (info: StorageInfo) => void

المرتجعات

  • Promise<StorageInfo>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

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>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setConflictResolutionPolicy()

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

تضبط هذه السمة سياسة حل التعارض التلقائية لمساحة تخزين الملفات 'syncable' الخاصة بالتطبيق. يتم ضبطها تلقائيًا على 'last_write_win'. عند ضبط سياسة حلّ التعارض على 'last_write_win'، يتم تلقائيًا حلّ التعارضات في الملفات الحالية في المرة التالية التي يتم فيها تعديل الملف. يمكن تقديم callback اختياريًا لمعرفة ما إذا كان الطلب ناجحًا أم لا.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

الفعاليات

onFileStatusChanged

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

يتم تنشيط هذا الحدث عندما يتم تعديل ملف من خلال خدمة المزامنة في الخلفية.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (detail: FileInfo) => void

onServiceStatusChanged

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

يتم تنشيط هذا الحدث عند حدوث خطأ أو تغيير آخر في الحالة في الخلفية الخاصة بالمزامنة (على سبيل المثال، عندما يتم إيقاف المزامنة مؤقتًا بسبب خطأ في الشبكة أو المصادقة).

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (detail: ServiceInfo) => void