يحتوي كل ملف ومجلد ومساحة تخزين سحابي مشتركة في Google Drive على موارد أذونات مرتبطة. ويحدد كل مورد الإذن الممنوح لـ type
(مستخدم أو مجموعة أو نطاق أو أي شخص) وrole
، مثل "معلِّق" أو "قارئ". على سبيل المثال، قد يكون للملف إذن لمنح مستخدم محدّد (type=user
) إذن وصول للقراءة فقط (role=reader
) في حين يمنح إذن آخر أعضاء مجموعة محددة
(type=group
) إمكانية إضافة تعليقات إلى ملف (role=commenter
).
للحصول على قائمة كاملة بالأدوار والعمليات المسموح بها لكل منها، يُرجى الرجوع إلى الأدوار.
سيناريوهات مشاركة موارد Drive
هناك 5 أنواع مختلفة من سيناريوهات المشاركة:
لمشاركة ملف في "ملفاتي"، يجب أن يكون لدى المستخدم دور "كاتب" أو دور أعلى.
في حال ضبط القيمة المنطقية
writersCanShare
علىFalse
للملف، يجب أن يكون للمستخدم دور "المالك".إذا كان لدى المستخدم الذي لديه دور "كاتب" إذن وصول مؤقت محكوم بتاريخ ووقت انتهاء صلاحية، لن يتمكّن من مشاركة الملف.
لمزيد من المعلومات، راجع إضافة تاريخ انتهاء الصلاحية.
لمشاركة مجلد في "ملفاتي"، يجب أن يكون لدى المستخدم دور "كاتب" أو دور أعلى.
وفي حال ضبط
writersCanShare
القيمة المنطقية علىFalse
للملف، يجب أن يكون للمستخدم دور "المالك" الأكثر تساهلاً.لا يُسمح بالوصول المؤقت (المُحدَّد بتاريخ ووقت انتهاء الصلاحية) إلى مجلدات "ملفاتي" التي تؤدي دور "كاتب".
لمشاركة ملف في مساحة Drive مشتركة، يجب أن يكون لدى المستخدم دور "كاتب" أو أعلى.
لا ينطبق إعداد
writersCanShare
على العناصر في مساحات التخزين السحابي المشتركة. ويتم التعامل معه كما لو تم ضبطه دائمًا علىTrue
.لا يُسمح بالوصول المؤقت (الذي يحكمه تاريخ ووقت انتهاء الصلاحية) في مساحات التخزين السحابي المشتركة.
لمشاركة مجلد في مساحة تخزين سحابي مشتركة، يجب أن يكون لدى المستخدم دور "المنظِّم".
لإدارة عضوية مساحة التخزين السحابي المشتركة، يجب أن يكون لدى المستخدم دور "المنظِّم". لا يمكن إلا للمستخدمين والمجموعات أن يكونوا أعضاء في مساحات Drive المشتركة.
نشر الأذونات
يتم نشر قوائم الأذونات لمجلد لأسفل، كما تكتسب جميع الملفات والمجلدات الفرعية الأذونات من المجلد الرئيسي. عندما يتم تغيير الأذونات أو العرض الهرمي، يحدث النشر بشكل متكرر عبر جميع المجلدات المتداخلة. على سبيل المثال، إذا كان هناك ملف في مجلد ثم تم نقله بعده داخل مجلد آخر، ستنتشر الأذونات في المجلد الجديد إلى الملف. إذا منح المجلد الجديد مستخدم الملف دورًا جديدًا، مثل "كاتب"، سيحل محله دوره القديم.
وبالعكس، إذا كان الملف يرث دور "الكاتب" من مجلد، وتم نقله إلى مجلد آخر يقدم دور "القارئ"، فسيكتسب الملف الآن دور "القارئ".
لا يمكن إزالة الأذونات المكتسبة من ملف أو مجلد في مساحة Drive مشتركة. وبدلاً من ذلك، يجب تعديل هذه الأذونات على العنصر الرئيسي المباشر أو غير المباشر الذي تم اكتسابها منه. يمكن إزالة الأذونات المكتسبة من العناصر ضمن "ملفاتي" أو "تمت مشاركتها معي".
وبالعكس، يمكن إلغاء الأذونات المكتسبة من ملف أو مجلد في "ملفاتي". لذلك، إذا اكتسب الملف دور "الكاتب" من مجلد "ملفاتي"، يمكنك ضبط دور "القارئ" في الملف لخفض مستوى الإذن الخاص به.
الإمكانات
لا يحدد مورد الأذونات في النهاية
إمكانية المستخدم الحالي في تنفيذ إجراءات على ملف أو مجلد.
بدلاً من ذلك، يحتوي مورد الملفات على مجموعة من الحقول المنطقية capabilities
المستخدمة للإشارة إلى ما إذا كان يمكن تنفيذ أحد الإجراءات على ملف أو مجلد. تعمل واجهة برمجة تطبيقات Google Drive على تعيين هذه الحقول بناءً على مورد أذونات المستخدم الحالي المقترن بالملف أو المجلد.
على سبيل المثال، عندما يسجل سمير الدخول إلى تطبيقك ويحاول مشاركة ملف، يتم التحقق من دور أليكس من حيث الأذونات في الملف. وإذا كان الدور يسمح لهم بمشاركة ملف، يتم ملء capabilities
ذي الصلة بالملف، مثل canShare
، نسبيًا بالنسبة إلى الدور. إذا أراد أليكس مشاركة الملف، سيتحقق تطبيقك من
capabilities
لضمان ضبط canShare
على true
.
إنشاء إذن
الحقلان التاليان ضروريان عند إنشاء إذن:
type
: يحدِّدtype
نطاق الإذن (user
أوgroup
أوdomain
أوanyone
). وينطبق الإذن الذي يتضمّنtype=user
على مستخدم مُحدَّد، بينما يسري الإذن معtype=domain
على جميع المستخدمين في نطاق مُحدَّد.role
—يحدِّد الحقلrole
العمليات التي يمكن لـtype
تنفيذها. على سبيل المثال، يمنح الإذن الذي يتضمّنtype=user
وrole=reader
مستخدمًا محدّدًا حق الوصول للقراءة فقط إلى الملف أو المجلد. أو يسمح إذن معtype=domain
وrole=commenter
لجميع المستخدمين في النطاق بإضافة تعليقات إلى ملف. للحصول على قائمة كاملة بالأدوار والعمليات المسموح بها لكل منها، يُرجى الرجوع إلى الأدوار.
عند إنشاء إذن يكون فيه type=user
أو type=group
، عليك أيضًا
توفير emailAddress
لربط
المستخدم أو المجموعة المحدّدة بالإذن.
عند إنشاء إذن يكون فيه type=domain
، عليك أيضًا توفير
domain
لربط نطاق محدّد
بالإذن.
لإنشاء إذن:
- استخدِم الطريقة
permissions.create
معfileId
للملف أو المجلد المرتبط. - في نص الطلب، حدِّد
type
وrole
. - إذا كانت قيمة السمة
type=user
أوtype=group
، يجب تقديمemailAddress
. إذا كانtype=domain
، قدّمdomain
.
استرداد جميع الأذونات لأحد الملفات أو المجلدات أو مساحات التخزين السحابي المشتركة
يمكنك استخدام طريقة permissions.list
لاسترداد جميع الأذونات لأحد الملفات أو المجلدات أو مساحات التخزين السحابي المشتركة.
التحقق من أذونات المستخدمين
عندما يفتح تطبيقك ملفًا، يجب أن يتحقق من إمكانيات الملف وأن يعرض واجهة المستخدم لتعكس أذونات المستخدم الحالي. على سبيل المثال، إذا لم يكن لدى المستخدم
الإمكانية canComment
في الملف، يجب إيقاف إمكانية التعليق
في واجهة المستخدم.
للتحقق من الإمكانيات، يمكنك استدعاء files.get
مع ضبط معلَمتَي fileId
وfields
على الحقل capabilities
.
للحصول على مزيد من المعلومات عن الحقول المكررة باستخدام معلمة fields
، يمكنك الرجوع إلى إرجاع حقول معينة لملف.
تحديد مصدر دور ملفات ومجلدات مساحة التخزين السحابي المشتركة
لتغيير الدور في ملف أو مجلد، عليك معرفة مصدر الدور. بالنسبة إلى مساحات التخزين السحابي المشتركة، يمكن أن يستند مصدر الدور إلى العضوية في مساحة التخزين السحابي المشتركة أو الدور في مجلد أو الدور في ملف.
لتحديد مصدر الدور لمساحة تخزين سحابي مشتركة، أو العناصر ضمن
مساحة التخزين السحابي هذه، يمكنك استدعاء permissions.get
مع ضبط معلَمة
fileId
وpermissionId
وfields
على الحقل
permissionDetails
. للعثور على permissionId
، استخدِم
permissions.list
مع fileId
.
يحصي هذا الحقل جميع أذونات الملفات الموروثة والمباشرة للمستخدم أو المجموعة أو النطاق.
تغيير الأذونات
لتغيير الأذونات في ملف أو مجلد، يمكنك تغيير الدور المعيَّن:
اتّصل بـ
permissions.update
مع منحpermissionId
الإذن اللازم للتغيير وfileId
للملف أو المجلد أو مساحة التخزين السحابي المشتركة المرتبطة. للعثور علىpermissionId
، استخدِمpermissions.list
معfileId
.في الطلب، حدِّد السمة الجديدة
role
.
يمكنك منح أذونات للملفات أو المجلدات الفردية في مساحة Drive مشتركة حتى إذا كان المستخدم أو المجموعة عضوًا فيها من قبل. مثلاً، يمتلك "أليكس" دور
commenter
كجزء من عضويته في "مساحة تخزين سحابي مشتركة". ومع ذلك، يمكن لتطبيقك
منح أليكس الدور writer
لملف في مساحة Drive مشتركة. في هذه الحالة، ونظرًا لأن الدور الجديد أكثر تساهلاً من الدور الممنوح من خلال عضويته، يصبح الإذن الجديد الدور الفعّال للملف أو المجلد.
إبطال الوصول إلى ملف أو مجلد
لإبطال الوصول إلى ملف أو مجلد، يمكنك الاتصال
delete
باستخدام fileId
و
permissionId
لحذف الإذن.
بالنسبة إلى العناصر في "ملفاتي"، من الممكن حذف إذن مكتسب. يؤدي حذف إذن مكتسب إلى إبطال الوصول إلى العنصر والعناصر الفرعية، إن وجدت.
بالنسبة إلى العناصر في مساحة التخزين السحابي المشتركة، لا يمكن إبطال الأذونات المكتسبة. يمكنك تحديث الإذن أو إبطاله في الملف أو المجلد الرئيسي بدلاً من ذلك.
يتم أيضًا استخدام العملية delete
لحذف الأذونات المطبَّقة مباشرةً على ملف أو مجلد Drive مشترك.
نقل ملكية الملف إلى حساب Google Workspace آخر في المؤسسة نفسها
يمكن نقل ملكية الملفات الحالية في "ملفاتي" من حساب Google Workspace إلى حساب آخر في المؤسسة نفسها. تمتلك المؤسسة التي تمتلك مساحة Drive مشتركة الملفات داخلها. وبالتالي، لا تتوفّر عمليات نقل الملكية للمجلدات والمجلدات في مساحات التخزين السحابي المشتركة. يمكن لمنظّمي مساحة Drive المشتركة نقل العناصر من مساحة Drive المشتركة هذه إلى "ملفاتي" الخاصة بهم والتي تنقل الملكية إليهم.
لنقل ملكية ملف في "ملفاتي"، نفّذ أحد الإجراءات التالية:
إنشاء إذن ملف يمنح مستخدمًا محدّدًا (
type=user
) إمكانية وصول المالك (role=owner
)يمكنك تعديل إذن ملف حالي باستخدام الدور
owner
ونقل الملكية إلى المستخدم المُحدّد (transferOwnership=true
).
نقل ملكية ملف من حساب مستهلك واحد إلى حساب مستهلك آخر
يمكن نقل ملكية الملفات بين حساب مستهلك واحد إلى حساب مستهلك آخر. ومع ذلك، لا ينقل Drive ملكية ملف بين حسابَين للمستهلك حتى يوافق المالك الجديد المحتمل صراحةً على عملية النقل. لنقل ملكية الملف من حساب مستهلك إلى حساب مستهلك آخر:
يبدأ المالك الحالي عملية نقل الملكية من خلال إنشاء أو تحديث إذن ملف مالك جديد محتمل. ويجب أن يتضمن الإذن الإعدادات التالية:
role=writer
وtype=user
وpendingOwner=true
. إذا كان المالك الجديد ينشئ إذنًا للمالك المحتمل، يتم إرسال إشعار بالبريد الإلكتروني إلى المالك الجديد المحتمل يشير إلى أنه تتم مطالبته بتولي ملكية الملف.يقبل المالك الجديد طلب نقل الملكية عن طريق إنشاء إذن ملف له أو تحديثه. ويجب أن يتضمّن الإذن الإعدادات التالية:
role=owner
وtransferOwnership=true
. إذا كان المالك الجديد ينشئ إذنًا جديدًا، فسيتم إرسال إشعار بالبريد الإلكتروني إلى المالك السابق يشير إلى أنه تم نقل الملكية.
عند نقل ملف، يتم خفض مستوى دور المالك السابق إلى writer
.
تغيير أذونات متعددة باستخدام الطلبات المجمّعة
ننصحك بشدة باستخدام طلبات مجمّعة لتعديل أذونات متعدّدة.
في ما يلي مثال على إجراء تعديل مجمّع للأذونات باستخدام مكتبة عميلة.