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

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

منبع فایل

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

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

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

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

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

  • sharedWithMeDate
  • sharingUser

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

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

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

منبع مجوز

قسمت permissionDetails در منبع Permission فقط برای فایل‌هایی که در یک درایو مشترک قرار دارند پر شده است. این فیلد فهرستی از مجوزهای فشرده است که در این فایل درایو مشترک وجود دارد یا توسط آن به ارث رسیده است. این فیلد یک فیلد فقط خروجی است و فقط برای موارد درایو مشترک وجود دارد. علاوه بر این،

  • دو نقش جدید organizer و fileOrganizer تعریف شده است.
  • متد permissions.list() از صفحه بندی پشتیبانی می کند.

تغییر منبع

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

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

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