این راهنما شامل وظایف مربوط به مدیریت درایوهای اشتراکی، مانند ایجاد درایوهای اشتراکی و مدیریت اعضا و مجوزها، با استفاده از API گوگل درایو است.
اگر میخواهید فیلدهایی را که باید در پاسخ برگردانده شوند، مشخص کنید، میتوانید پارامتر سیستمی fields را با هر متدی از منبع drives تنظیم کنید. اگر پارامتر fields را مشخص نکنید، سرور مجموعهای پیشفرض از فیلدهای خاص برای متد را برمیگرداند. برای مثال، متد list فقط فیلدهای kind ، id و name را برای هر درایو مشترک برمیگرداند. برای اطلاعات بیشتر، به بخش Return specific fields مراجعه کنید.
برای کسب اطلاعات بیشتر در مورد محدودیتهای پوشه درایو مشترک، به محدودیتهای پوشه درایو مشترک مراجعه کنید.
ایجاد درایو مشترک
برای ایجاد یک درایو مشترک، از متد create روی منبع drives به همراه پارامتر requestId استفاده کنید.
پارامتر requestId تلاش منطقی برای ایجاد یک درایو مشترک به صورت خودکار را مشخص میکند. اگر زمان درخواست تمام شود یا خطای نامشخصی در backend برگرداند، همان درخواست میتواند تکرار شود و موارد تکراری ایجاد نخواهد شد. requestId و بدنه درخواست باید یکسان باقی بمانند.
نمونه کد زیر نحوه ایجاد یک درایو مشترک را نشان میدهد:
جاوا
پایتون
نود جی اس
پی اچ پی
دات نت
فراخوانیهای متد create خودتوان (idempotent) هستند.
اگر درایو مشترک در درخواست قبلی یا به دلیل تلاش مجدد با موفقیت ایجاد شده باشد، این متد نمونهای از منبع drives را برمیگرداند. گاهی اوقات، مثلاً پس از مدت زمان طولانی یا اگر بدنه درخواست تغییر کرده باشد، ممکن است خطای 409 برگردانده شود که نشان میدهد requestId باید نادیده گرفته شود.
یک درایو اشتراکی دریافت کنید
برای دریافت متادیتای یک درایو مشترک، از متد get روی منبع drives به همراه پارامتر مسیر driveId استفاده کنید. اگر شناسه درایو را نمیدانید، میتوانید با استفاده از متد list ، تمام درایوهای مشترک را فهرست کنید .
متد get یک درایو مشترک را به عنوان نمونهای از منبع drives برمیگرداند.
برای صدور درخواست به عنوان مدیر دامنه، پارامتر query مربوط useDomainAdminAccess را روی true تنظیم کنید. برای اطلاعات بیشتر، به بخش مدیریت درایوهای مشترک به عنوان مدیر دامنه مراجعه کنید.
فهرست کردن درایوهای اشتراکی
برای فهرست کردن درایوهای اشتراکی یک کاربر، از متد list روی منبع drives استفاده کنید. این متد لیستی از درایوهای اشتراکی را برمیگرداند.
پارامترهای پرس و جوی زیر را برای سفارشیسازی صفحهبندی یا فیلتر کردن درایوهای اشتراکی ارسال کنید:
pageSize: حداکثر تعداد درایوهای مشترک برای برگرداندن به ازای هر صفحه.pageToken: یک توکن صفحه که از فراخوانی لیست قبلی دریافت شده است. این توکن را برای بازیابی صفحه بعدی ارائه دهید.q: رشته پرسوجو برای جستجوی درایوهای مشترک. برای اطلاعات بیشتر، به «جستجوی درایوهای مشترک» مراجعه کنید.useDomainAdminAccess: برای صدور درخواست به عنوان مدیر دامنه و بازگرداندن تمام درایوهای مشترک دامنهای که درخواستکننده در آن مدیر است، رویtrueتنظیم کنید. برای اطلاعات بیشتر، به مدیریت درایوهای مشترک به عنوان مدیران دامنه مراجعه کنید.
بهروزرسانی درایو اشتراکی
برای بهروزرسانی متادیتای یک درایو مشترک، از متد update روی منبع drives با پارامتر مسیر driveId استفاده کنید.
این متد یک درایو اشتراکی را به عنوان نمونهای از منبع drives برمیگرداند.
برای صدور درخواست به عنوان مدیر دامنه، پارامتر query مربوط useDomainAdminAccess را روی true تنظیم کنید. برای اطلاعات بیشتر، به بخش مدیریت درایوهای مشترک به عنوان مدیر دامنه مراجعه کنید.
مخفی کردن و نمایش درایو مشترک
برای پنهان کردن یک درایو مشترک از نمای پیشفرض، از متد hide روی منبع drives با پارامتر driveId استفاده کنید.
وقتی یک درایو مشترک پنهان میشود، درایو منبع درایو مشترک را با عنوان hidden=true علامتگذاری میکند. درایوهای مشترک پنهان در رابط کاربری درایو یا در لیست فایلهای برگردانده شده نمایش داده نمیشوند.
برای بازیابی یک درایو مشترک به نمای پیشفرض، از متد unhide روی منبع drives با پارامتر driveId استفاده کنید.
هر دو روش یک درایو مشترک را به عنوان نمونهای از منبع drives برمیگردانند.
حذف یک درایو مشترک
برای حذف دائمی یک درایو مشترک، از متد delete روی منبع drives به همراه پارامتر driveId استفاده کنید.
قبل از حذف یک درایو مشترک، تمام محتوای موجود در درایو مشترک باید به سطل زباله منتقل یا حذف شود. کاربر همچنین باید role=organizer در پوشه درایو مشترک داشته باشد. برای اطلاعات بیشتر، به حذف شدهها یا حذف فایلها و پوشهها مراجعه کنید.
پارامترهای پرس و جوی زیر را برای فیلتر کردن درایوهای اشتراکی ارسال کنید:
useDomainAdminAccess: برای صدور درخواست به عنوان مدیر دامنه و بازگرداندن تمام درایوهای مشترک دامنهای که درخواستکننده در آن مدیر است، رویtrueتنظیم کنید. برای اطلاعات بیشتر، به مدیریت درایوهای مشترک به عنوان مدیران دامنه مراجعه کنید.allowItemDeletion: برای حذف موارد درون درایو مشترک، رویtrueتنظیم میشود. فقط زمانی پشتیبانی میشود کهuseDomainAdminAccessنیز رویtrueتنظیم شده باشد.
اضافه کردن یا حذف اعضای درایو مشترک
با استفاده از منبع permissions ، اعضای درایو مشترک را اضافه یا حذف کنید.
برای افزودن یک عضو، مجوز را در درایو مشترک ایجاد کنید. روشهای مجوز همچنین میتوانند برای فایلهای جداگانه در یک درایو مشترک استفاده شوند تا به اعضا امتیازات اضافی اعطا شود یا به افراد غیر عضو اجازه داده شود تا در موارد خاص همکاری کنند.
برای اطلاعات بیشتر و نمونه کد، به اشتراکگذاری فایلها، پوشهها و درایوها مراجعه کنید.
مدیریت درایوهای اشتراکی به عنوان مدیر دامنه
پارامتر useDomainAdminAccess را با drives و منابع permissions برای مدیریت درایوهای مشترک در سراسر سازمان اعمال کنید.
کاربرانی که این متدها را با useDomainAdminAccess=true فراخوانی میکنند، باید دارای امتیاز مدیر Drive and Docs باشند. مدیران میتوانند درایوهای مشترک را جستجو کنند یا مجوزهای درایوهای مشترک متعلق به سازمان خود را بهروزرسانی کنند، صرف نظر از عضویت مدیر در هر درایو مشترک.
هنگام استفاده از حسابهای سرویس، ممکن است مجبور شوید با استفاده از جعل هویت حساب سرویس ، خود را به عنوان یک مدیر احراز هویت شده جا بزنید. توجه داشته باشید که حسابهای سرویس، برخلاف حسابهای کاربری، به دامنه Google Workspace شما تعلق ندارند . اگر داراییهای Google Workspace، مانند اسناد یا رویدادها، را با کل دامنه Google Workspace خود به اشتراک بگذارید، آنها با حسابهای سرویس به اشتراک گذاشته نمیشوند. برای اطلاعات بیشتر، به نمای کلی حسابهای سرویس مراجعه کنید.
بازیابی درایو اشتراکی که سازماندهیکننده ندارد
نمونه کد زیر نحوه بازیابی درایوهای اشتراکی که دیگر سازماندهیکننده ندارند را نشان میدهد.
جاوا
پایتون
نود جی اس
پی اچ پی
دات نت
جلوگیری از دانلود، چاپ یا کپی کردن فایل توسط کاربران
شما میتوانید نحوه دانلود، چاپ و کپی فایلها در درایوهای مشترک توسط کاربران را محدود کنید.
برای تعیین اینکه آیا کاربر میتواند محدودیتهای دانلود اعمالشده توسط سازماندهنده در یک درایو مشترک را تغییر دهد، فیلد بولی capabilities.canChangeDownloadRestriction را بررسی کنید. اگر capabilities.canChangeDownloadRestriction روی true تنظیم شده باشد، محدودیتهای دانلود میتوانند روی درایو مشترک اعمال شوند. برای اطلاعات بیشتر، به بخش «درک قابلیتهای فایل» مراجعه کنید.
منبع drives شامل مجموعهای از فیلدهای restrictions بولی است که برای نشان دادن اینکه آیا یک عمل میتواند روی یک درایو مشترک انجام شود یا خیر، استفاده میشود. محدودیتها بر روی یک درایو مشترک یا موارد داخل یک درایو مشترک اعمال میشوند. محدودیتها را میتوان با استفاده از متد drives.update تنظیم کرد.
برای اعمال محدودیتهای دانلود به یک درایو مشترک، یک مدیر درایو مشترک میتواند فیلد restrictions.downloadRestriction از منبع drives را با استفاده از شیء DownloadRestriction تنظیم کند. تنظیم فیلد بولی restrictedForReaders به true اعلام میکند که هم دانلود و هم کپی برای خوانندگان محدود شده است. تنظیم فیلد بولی restrictedForWriters به true اعلام میکند که هم دانلود و هم کپی برای نویسندگان محدود شده است. توجه داشته باشید که اگر فیلد restrictedForWriters به true باشد، دانلود و کپی نیز برای خوانندگان محدود شده است. به طور مشابه، تنظیم restrictedForWriters به true و restrictedForReaders به false معادل تنظیم restrictedForWriters و restrictedForReaders به true است.
سازگاری با نسخههای قبلی
با معرفی شیء DownloadRestriction ، عملکرد فیلد بولی restrictions.copyRequiresWriterPermission بهروزرسانی شده است.
اکنون، تنظیم restrictions.copyRequiresWriterPermission به true فیلد بولی restrictedForReaders از شیء DownloadRestriction را به true بهروزرسانی میکند تا اعلام کند که هم دانلود و هم کپی برای خوانندگان محدود شده است.
تنظیم فیلد copyRequiresWriterPermission روی false هر دو فیلد restrictedForWriters و restrictedForReaders را روی false بهروزرسانی میکند. این یعنی تنظیمات محدودیت دانلود یا کپی برای همه کاربران حذف میشود.
فیلدهایی که ویژگیهای دانلود، چاپ و کپی را کنترل میکنند
جدول زیر فیلدهای منبع drives که بر عملکرد دانلود، چاپ و کپی تأثیر میگذارند، فهرست میکند:
| میدان | توضیحات | نسخه |
|---|---|---|
capabilities.canCopy | اینکه آیا کاربر فعلی میتواند فایلهای موجود در درایو مشترک را کپی کند یا خیر. | نسخه ۲ و نسخه ۳ |
capabilities.canDownload | اینکه آیا کاربر فعلی میتواند فایلهای موجود در درایو مشترک را دانلود کند یا خیر. | نسخه ۲ و نسخه ۳ |
capabilities.canChangeCopyRequiresWriterPermission | اینکه آیا کاربر فعلی میتواند محدودیت copyRequiresWriterPermission یک درایو مشترک را تغییر دهد یا خیر. | نسخه ۲ و نسخه ۳ |
capabilities.canResetDriveRestrictions | اینکه آیا کاربر فعلی میتواند محدودیتهای درایو مشترک را به پیشفرضها بازنشانی کند یا خیر. | نسخه ۲ و نسخه ۳ |
capabilities.canChangeDownloadRestriction | اینکه آیا کاربر فعلی میتواند محدودیت دانلود یک درایو مشترک را تغییر دهد یا خیر. | فقط نسخه ۳ |
restrictions.copyRequiresWriterPermission | اینکه آیا گزینههای کپی، چاپ یا دانلود فایلها در داخل یک درایو مشترک برای خوانندگان و نظردهندگان غیرفعال است یا خیر. وقتی true ، فیلد همنام را برای هر فایلی در داخل این درایو مشترک روی true تنظیم میکند. | نسخه ۲ و نسخه ۳ |
restrictions.downloadRestriction | محدودیتهای دانلود اعمالشده توسط مدیران درایو اشتراکی. | فقط نسخه ۳ |
محدودیتهای پوشه
پوشههای درایو اشتراکی محدودیتهایی برای فضای ذخیرهسازی دارند. برای اطلاعات بیشتر، به محدودیتهای درایو اشتراکی در گوگل درایو مراجعه کنید.
کلاه مورد
درایو اشتراکی هر کاربر محدودیت ۵۰۰۰۰۰ مورد، شامل فایلها، پوشهها و میانبرها را دارد.
وقتی به حد مجاز رسید، درایو اشتراکی دیگر نمیتواند فایلها را بپذیرد. برای از سرگیری دریافت فایلها، کاربران باید فایلها را به طور دائم از درایو اشتراکی حذف کنند. توجه داشته باشید که فایلهای موجود در سطل زباله به حد مجاز اضافه میشوند، اما فایلهایی که به طور دائم حذف شدهاند، به این حد اضافه نمیشوند. برای اطلاعات بیشتر، به بخش حذف فایلها یا حذف فایلها و پوشهها مراجعه کنید.
محدودیت عمق پوشه
یک پوشه در یک درایو مشترک نمیتواند بیش از ۱۰۰ سطح پوشه تو در تو داشته باشد. این بدان معناست که یک پوشه فرزند نمیتواند در زیر پوشهای با عمق بیش از ۹۹ سطح ذخیره شود. این محدودیت فقط در مورد پوشههای فرزند اعمال میشود.
تلاش برای افزودن بیش از ۱۰۰ سطح پوشه، پاسخ کد وضعیت HTTP با شناسه teamDriveHierarchyTooDeep را برمیگرداند.