این راهنما شامل وظایف مربوط به مدیریت درایوهای مشترک، مانند ایجاد درایوهای مشترک و مدیریت اعضا و مجوزها، با استفاده از 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 را برمیگرداند.