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

"synced"
لا يوجد تعارض ولا تغييرات محلية في انتظار المراجعة.

"pending"
يحتوي على تغيير محلي واحد أو أكثر لم تتم مزامنته.

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

FileStatusInfo

الخصائص

  • خطأ

    string اختياري

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

  • fileEntry

    إدخال

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

  • status

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

ServiceInfo

الخصائص

ServiceStatus

Enum

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

"قيد التشغيل"
خدمة المزامنة قيد التشغيل.

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

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

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

StorageInfo

الخصائص

  • quotaBytes

    الرقم

  • usageBytes

    الرقم

SyncAction

Enum

"added"

"updated"

"deleted"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

الطُرق

getConflictResolutionPolicy()

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

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

المعلمات

المرتجعات

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

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

getFileStatus()

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

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

المعلمات

  • fileEntry

    إدخال

  • callback

    function اختياري

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

    (status: FileStatus) => void

المرتجعات

  • Promise<FileStatus>

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

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

getFileStatuses()

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

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

المعلمات

  • fileEntries

    object[]‎

  • callback

    function اختياري

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

    (status: FileStatusInfo[]) => void

المرتجعات

  • Promise<FileStatusInfo[]>

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

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

getServiceStatus()

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

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

المعلمات

  • callback

    function اختياري

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

    (status: ServiceStatus) => void

المرتجعات

  • Promise<ServiceStatus>

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

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

getUsageAndQuota()

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

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

المعلمات

  • fileSystem

    DOMFileSystem

  • callback

    function اختياري

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

    (info: StorageInfo) => void

المرتجعات

  • Promise<StorageInfo>

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

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

requestFileSystem()

Promise
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

    function اختياري

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

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

المرتجعات

  • Promise<DOMFileSystem>

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

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

setConflictResolutionPolicy()

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

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

المعلمات

  • callback

    function اختياري

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

    () => 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