این راهنما شامل وظایف مربوط به مدیریت درایوهای مشترک، مانند ایجاد درایوهای مشترک و مدیریت اعضا و مجوزها، با استفاده از Google Drive API است.
اگر میخواهید فیلدهایی را برای بازگشت در پاسخ مشخص کنید، میتوانید پارامتر سیستم fields
را با هر روشی از منبع drives
تنظیم کنید. اگر پارامتر fields
را مشخص نکنید، سرور یک مجموعه پیشفرض از فیلدهای مخصوص روش را برمیگرداند. برای مثال، روش list
فقط فیلدهای kind
، id
و name
را برای هر درایو مشترک برمیگرداند. برای اطلاعات بیشتر، به قسمتهای خاص بازگشت مراجعه کنید.
برای کسب اطلاعات بیشتر درباره محدودیتهای پوشه درایو مشترک، به محدودیتهای پوشه درایو مشترک مراجعه کنید.
یک درایو مشترک ایجاد کنید
برای ایجاد یک درایو مشترک، از متد create
در منبع drives
با پارامتر requestId
استفاده کنید.
پارامتر requestId
تلاش منطقی برای ایجاد ناتوان درایو مشترک را مشخص می کند. اگر زمان درخواست به پایان برسد یا یک خطای نامشخص باطن را برگرداند، همان درخواست می تواند تکرار شود و موارد تکراری ایجاد نخواهد شد. requestId
و بدنه درخواست باید ثابت بماند.
نمونه کد زیر نحوه ایجاد یک درایو مشترک را نشان می دهد:
جاوا
پایتون
Node.js
PHP
دات نت
فراخوانی به روش create
بی قدرت است.
اگر درایو مشترک بر اساس درخواست قبلی یا به دلیل تلاش مجدد با موفقیت ایجاد شده باشد، این روش نمونه ای از منبع 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
استفاده کنید.
هنگامی که یک درایو مشترک پنهان است، Drive منبع درایو مشترک را به عنوان hidden=true
علامت گذاری می کند. درایوهای مشترک پنهان در رابط کاربری Drive یا در لیست فایلهای برگشتی ظاهر نمیشوند.
برای بازگرداندن درایو مشترک به نمای پیش فرض، از روش 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 خود به اشتراک بگذارید، با حسابهای سرویس به اشتراک گذاشته نمیشوند. برای اطلاعات بیشتر، به نمای کلی حسابهای سرویس مراجعه کنید.
درایو مشترکی را که سازمان دهنده ندارد بازیابی کنید
نمونه کد زیر نحوه بازیابی درایوهای مشترکی که دیگر سازمان دهنده ندارند را نشان می دهد.
جاوا
پایتون
Node.js
PHP
دات نت
از دانلود، چاپ یا کپی کردن فایل توسط کاربران جلوگیری کنید
میتوانید نحوه دانلود، چاپ و کپی فایلها را در درایوهای مشترک محدود کنید.
برای تعیین اینکه آیا کاربر میتواند محدودیتهای دانلود اعمال شده توسط سازماندهنده درایو مشترک را تغییر دهد، فیلد بولی 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 | آیا کاربر فعلی میتواند فایلها را در درایو مشترک کپی کند یا خیر. | v2 و v3 |
capabilities.canDownload | اینکه آیا کاربر فعلی میتواند فایلها را در درایو مشترک بارگیری کند یا خیر. | v2 و v3 |
capabilities.canChangeCopyRequiresWriterPermission | آیا کاربر فعلی میتواند محدودیت copyRequiresWriterPermission یک درایو مشترک را تغییر دهد یا خیر. | v2 و v3 |
capabilities.canResetDriveRestrictions | آیا کاربر فعلی میتواند محدودیتهای درایو مشترک را به پیشفرض بازنشانی کند یا خیر. | v2 و v3 |
capabilities.canChangeDownloadRestriction | اینکه آیا کاربر فعلی میتواند محدودیت دانلود درایو مشترک را تغییر دهد یا خیر. | فقط نسخه 3 |
restrictions.copyRequiresWriterPermission | آیا گزینههای کپی، چاپ یا دانلود فایلها در درایو مشترک برای خوانندگان و نظر دهندگان غیرفعال است. وقتی true ، فیلد با نام مشابه را برای هر فایلی در داخل این درایو مشترک روی true تنظیم میکند. | v2 و v3 |
restrictions.downloadRestriction | محدودیتهای دانلود اعمال شده توسط مدیران درایو مشترک. | فقط نسخه 3 |
محدودیت پوشه ها
پوشه های درایو مشترک دارای محدودیت های ذخیره سازی هستند. برای اطلاعات، به محدودیتهای درایو مشترک در Google Drive مراجعه کنید.
درپوش مورد
درایو مشترک هر کاربر دارای محدودیت 500000 مورد از جمله فایل ها، پوشه ها و میانبرها است.
با رسیدن به حد مجاز، درایو مشترک دیگر نمیتواند موارد را بپذیرد. برای از سرگیری دریافت فایل ها، کاربران باید به طور دائم موارد را از درایو مشترک حذف کنند. توجه داشته باشید که موارد موجود در سطل زباله در حد مجاز حساب میشوند، اما موارد حذف شده برای همیشه اینطور نیست. برای اطلاعات بیشتر، به حذفشدهها یا حذف فایلها و پوشهها مراجعه کنید.
محدودیت عمق پوشه
یک پوشه در درایو مشترک نمیتواند بیش از 100 سطح پوشه تودرتو داشته باشد. این بدان معنی است که یک پوشه فرزند را نمی توان در پوشه ای با عمق بیش از 99 سطح ذخیره کرد. این محدودیت فقط برای پوشه های فرزند اعمال می شود.
تلاش برای افزودن بیش از 100 سطح پوشه، پاسخ کد وضعیت HTTP teamDriveHierarchyTooDeep
را برمیگرداند.