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

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

منبع Files

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

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

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

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

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

  • sharedWithMeDate
  • sharingUser

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

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

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

منبع Permissions

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

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

منبع را Changes

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

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

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

،

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

منبع Files

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

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

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

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

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

  • sharedWithMeDate
  • sharingUser

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

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

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

منبع Permissions

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

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

منبع را Changes

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

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

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