chrome.syncFileSystem

الوصف

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

الأذونات

syncFileSystem

الأنواع

ConflictResolutionPolicy

Enum

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

التعداد

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

"جارٍ التشغيل"
تم تفعيل خدمة المزامنة وتعمل بشكل جيد.

"authentication_required"
لا تزامن خدمة المزامنة الملفات لأن المستخدم بحاجة إلى مصادقة الخدمة البعيدة للمتابعة.

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

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

StorageInfo

أماكن إقامة

  • quotaBytes

    الرقم

  • usageBytes

    الرقم

SyncAction

Enum

"updated"

"deleted"

SyncDirection

التعداد

"local_to_remote"

"remote_to_local"

الطُرق

getConflictResolutionPolicy()

وعود
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

الحصول على سياسة حلّ التعارض الحالية

المعلمات

المرتجعات

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

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

getFileStatus()

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

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

المعلمات

  • fileEntry

    إدخال

  • ردّ الاتصال

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

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

    (status: FileStatus) => void

المرتجعات

  • Promise<FileStatus>

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

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

getFileStatuses()

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

عرض كل FileStatus لمصفوفة fileEntry المحددة. يتم استدعاء عادةً بالنتيجة من dirReader.readEntries().

المعلمات

  • fileEntries

    object[]

  • ردّ الاتصال

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

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

    (status: FileStatusInfo[]) => void

المرتجعات

  • Promise&lt;FileStatusInfo[]&gt;

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

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

getServiceStatus()

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

يعرض حالة الواجهة الخلفية الحالية للمزامنة.

المعلمات

  • رد الاتصال

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

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

    (status: ServiceStatus) => void

المرتجعات

  • Promise<ServiceStatus>

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

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

getUsageAndQuota()

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

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

المعلمات

  • fileSystem

    DOMFileSystem

  • ردّ الاتصال

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

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

    (info: StorageInfo) => void

المرتجعات

  • Promise<StorageInfo>

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

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

requestFileSystem()

الوعد
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

لعرض نظام ملفات قابل للمزامنة يدعمه Google Drive. يمكن التعامل مع مثيل DOMFileSystem الذي تم إرجاعه بالطريقة نفسها المستخدَمة مع نظامَي الملفات المؤقت والدائم (راجِع http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

سيؤدي طلب هذا الإجراء عدة مرات من التطبيق نفسه إلى إرجاع الاسم المعرِّف نفسه إلى نظام الملفات نفسه.

يُرجى العِلم أنّه يمكن أن يتعذّر إكمال هذا الطلب. على سبيل المثال، إذا لم يسجّل المستخدم الدخول إلى Chrome أو إذا لم تكن هناك عملية على الشبكة. لمعالجة هذه الأخطاء، من المهم أن يتم التحقّق من chrome.runtime.lastError في معاودة الاتصال.

المعلمات

  • رد الاتصال

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

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

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

المرتجعات

  • وعد <DOMFileSystem>

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

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

setConflictResolutionPolicy()

وعود
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

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

المعلمات

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

الفعاليات

onFileStatusChanged

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

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

المعلمات

  • ردّ الاتصال

    دالة

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

    (detail: FileInfo) => void

onServiceStatusChanged

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

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

المعلمات

  • ردّ الاتصال

    دالة

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

    (detail: ServiceInfo) => void