الوصف
استخدِم واجهة برمجة تطبيقات 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()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
للحصول على سياسة حلّ التعارضات الحالية
المعلمات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(policy: ConflictResolutionPolicy) => void
-
سياسة
-
المرتجعات
-
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
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(status: FileStatus) => void
-
status
-
المرتجعات
-
Promise<FileStatus>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
تعرض كل FileStatus لمصفوفة fileEntry المحدّدة. يتم استدعاؤها عادةً مع النتيجة من dirReader.readEntries().
المعلمات
-
fileEntries
object[]
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(status: FileStatusInfo[]) => void
-
status
-
المرتجعات
-
Promise<FileStatusInfo[]>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
تعرض هذه الإشارة حالة مزامنة الخلفية الحالية.
المعلمات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(status: ServiceStatus) => void
-
status
-
المرتجعات
-
Promise<ServiceStatus>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getUsageAndQuota()
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()
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()
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
-
التفاصيل
-