تفاوت درایو مشترک در مقابل My Drive API

درایوهای اشتراکی از مدل‌های سازماندهی، اشتراک‌گذاری و مالکیت متفاوتی نسبت به My Drive پیروی می‌کنند. به همین دلیل، برخی از عملیات My Drive برای محتوای موجود در یک درایو اشتراکی مجاز نیستند.

این راهنما تفاوت‌های API مختص درایو مشترک در files و منابع changes را شرح می‌دهد.

منبع فایل

فیلدهای زیر در منبع files فقط برای فایل‌هایی که در یک درایو مشترک قرار دارند، پر می‌شوند:

  • hasAugmentedPermissions : مشخص می‌کند که آیا به هر کاربری اجازه دسترسی مستقیم به این فایل داده شده است یا خیر.
  • capabilities/canAddFolderFromAnotherDrive : آیا کاربر فعلی می‌تواند پوشه‌ای را از درایو دیگری (یک درایو مشترک دیگر یا درایو من) به این پوشه اضافه کند یا خیر.
  • capabilities/canDeleteChildren : آیا کاربر فعلی می‌تواند فرزندان این پوشه را حذف کند یا خیر.
  • capabilities/canMoveChildrenOutOfDrive : آیا کاربر فعلی می‌تواند فرزندان این پوشه را به خارج از درایو مشترک منتقل کند یا خیر.
  • capabilities/canMoveChildrenWithinDrive : آیا کاربر فعلی می‌تواند فرزندان این پوشه را در درایو مشترک جابجا کند یا خیر.
  • capabilities/canMoveItemWithinDrive : آیا کاربر فعلی می‌تواند این آیتم درایو مشترک را درون درایو مشترک جابجا کند یا خیر.
  • capabilities/canReadDrive : آیا کاربر فعلی دسترسی خواندن به درایو مشترکی که این فایل به آن تعلق دارد را دارد یا خیر.
  • capabilities/canTrashChildren : آیا کاربر فعلی می‌تواند فرزندان این پوشه را حذف کند یا خیر.
  • driveId : شناسه درایو مشترکی که فایل در آن قرار دارد.
  • trashingUser : اگر فایل صراحتاً به سطل زباله انداخته شده باشد، کاربری که آن را به سطل زباله انداخته است.
  • trashedTime : زمانی که آیتم به سطل زباله انداخته شده است. اگر از Drive API نسخه ۲ قدیمی‌تر استفاده می‌کنید، این فیلد trashedDate نامیده می‌شود.

فیلدهای زیر برای فایل‌هایی که در یک درایو مشترک قرار دارند، پر نمی‌شوند:

  • permissions : با توجه به اندازه بالقوه لیست‌های کنترل دسترسی درایو مشترک (ACL)، مجوزها به عنوان بخشی از فایل‌ها بازگردانده نمی‌شوند. از متد permissions.list که از صفحه‌بندی پشتیبانی می‌کند، برای فهرست کردن مجوزهای یک فایل در یک درایو مشترک یا پوشه درایو مشترک استفاده کنید.
  • owners ، ownerNames ، ownedByMe : فایل‌های درون یک درایو مشترک متعلق به همان درایو مشترک هستند، نه کاربران خاص.
  • folderColorRgb : پوشه‌ها را نمی‌توان به صورت جداگانه رنگ‌آمیزی کرد.
  • shared : همه موارد موجود در یک درایو مشترک، به اشتراک گذاشته می‌شوند.
  • writersCanShare : محدود کردن اشتراک‌گذاری بر اساس نقش در درایوهای اشتراکی امکان‌پذیر نیست.

فیلدهای زیر فقط زمانی تنظیم می‌شوند که به کاربر مجوزهای دسترسی به فایل روی یک مورد داده شده باشد:

  • sharedWithMeDate
  • sharingUser

فیلدهای زیر هنگام استفاده از درایوهای مشترک نیاز به توجه ویژه دارند:

  • parents.isRoot : این فیلد فقط برای پوشه ریشه My Drive درست است؛ برای پوشه سطح بالای درایو مشترک نادرست است.
  • parents : اگر کاربر درخواست‌کننده عضو درایو مشترک نباشد و به والد دسترسی نداشته باشد، والد در لیست والدها ظاهر نمی‌شود. علاوه بر این، به استثنای پوشه سطح بالا، اگر فایل در یک درایو مشترک قرار دارد، لیست والدها باید دقیقاً شامل یک مورد باشد.

  • capabilities/canRemoveChildren : capabilities/canDeleteChildren یا capabilities/canTrashChildren استفاده کنید.

تغییر منبع

فیلدهای جدید زیر در منبع changes برای یک درایو مشترک موجود است:

  • changeType : نوع تغییر. مقادیر ممکن عبارتند از file و drive .
  • driveId : شناسه درایو مشترک مرتبط با این تغییر.
  • drive : وضعیت به‌روزرسانی‌شده‌ی درایو مشترک. اگر changeType drive باشد و کاربر هنوز عضوی از درایو مشترک باشد، نمایش داده می‌شود.

ممکن است برای برنامه‌هایی که نیاز به همگام‌سازی محتوا با درایوهای مشترک یا ردیابی فعالیت دارند، تغییرات بیشتری لازم باشد. برای جزئیات بیشتر، به «ردیابی تغییرات برای کاربران و درایوهای مشترک» مراجعه کنید.