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 (التي يمكن أن تحتوي على تفاصيل خاصة بالخدمة).

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

StorageInfo

أماكن إقامة

  • quotaBytes

    الرقم

  • usageBytes

    الرقم

SyncAction

Enum

"تمّت الإضافة"

"updated"

"deleted"

SyncDirection

Enum

"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<FileStatusInfo[]>

    الإصدار 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

المرتجعات

  • Promise<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