chrome.syncFileSystem

الوصف

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

الأذونات

syncFileSystem

الأنواع

ConflictResolutionPolicy

Enum

"last_write_win"

"يدوي"

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

"مضافة"

"تم التحديث"

"تم الحذف"

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

المرتجعات

  • وعود <باطلة>

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