پیشنهاد دسترسی، پیشنهادی از یک درخواستکننده به یک تأییدکننده است تا به گیرنده، دسترسی به یک مورد در گوگل درایو اعطا شود.
یک تأییدکننده میتواند تمام پیشنهادهای دسترسی حلنشده در فایلهای درایو را بررسی و روی آنها اقدام کند. این بدان معناست که میتوانید با پرسوجوی برنامهنویسیشده برای پیشنهادهای دسترسی و سپس حل آنها، روند تأیید را سرعت بخشید. همچنین این امکان را فراهم میکند که پیشنهادها به صورت کلی توسط یک تأییدکننده مشاهده شوند.
رابط برنامهنویسی کاربردی گوگل درایو، منبع accessproposals را ارائه میدهد تا بتوانید پیشنهادهای دسترسی در حال بررسی را مشاهده و حل کنید. متدهای منبع accessproposals روی فایلها، پوشهها و فایلهای درون یک درایو مشترک کار میکنند، اما روی خود درایو مشترک کار نمیکنند .
اصطلاحات زیر مختص پیشنهادهای دسترسی هستند:
- درخواستکننده : کاربری که پیشنهاد دسترسی به یک آیتم درایو را آغاز میکند.
- گیرنده : کاربری که در صورت اعطای پیشنهاد دسترسی، مجوزهای اضافی را روی یک فایل دریافت میکند. اغلب اوقات گیرنده همان درخواستکننده است، اما نه همیشه.
- تأییدکننده : کاربری که مسئول تأیید (یا رد) پیشنهاد دسترسی است. این معمولاً به این دلیل است که آنها مالک سند هستند یا توانایی اشتراکگذاری سند را دارند.
استفاده از پارامتر فیلدها
اگر میخواهید فیلدهایی را که باید در پاسخ برگردانده شوند، مشخص کنید، میتوانید پارامتر سیستمی fields را با هر متدی از منبع accessproposals تنظیم کنید. اگر پارامتر fields را حذف کنید، سرور مجموعهای پیشفرض از فیلدهای مختص به متد را برمیگرداند. برای برگرداندن فیلدهای مختلف، به بخش Return specific fields مراجعه کنید.
دریافت پیشنهاد دسترسی در حال بررسی
برای دریافت یک پیشنهاد دسترسی، از متد get روی منبع accessproposals به همراه پارامترهای مسیر fileId و proposalId استفاده کنید. اگر شناسه پیشنهاد را نمیدانید، میتوانید با استفاده از متد list ، پیشنهادهای دسترسی در حال بررسی را فهرست کنید .
فهرست پیشنهادهای دسترسی در انتظار
برای فهرست کردن تمام پیشنهادهای دسترسی در انتظار روی یک آیتم Drive، متد list را روی منبع accessproposals فراخوانی کنید و پارامتر مسیر fileId را وارد کنید.
فقط تأییدکنندگان یک فایل میتوانند پیشنهادهای در حال بررسی در یک فایل را فهرست کنند. تأییدکننده، کاربری با قابلیت can_approve_access_proposals در فایل است. اگر درخواستکننده تأییدکننده نباشد، یک لیست خالی برگردانده میشود. برای اطلاعات بیشتر در مورد capabilities ، به بخش «درک قابلیتهای فایل» مراجعه کنید.
بدنه پاسخ شامل یک شیء accessproposals است که لیستی از پیشنهادهای دسترسی حل نشده روی فایل را نشان میدهد.
شیء accessproposals شامل اطلاعاتی در مورد هر پیشنهاد مانند درخواستکننده، گیرنده و پیامی که درخواستکننده اضافه کرده است، میباشد. همچنین شامل یک شیء RoleAndView است که role پیشنهادی درخواستکننده را با یک view گروهبندی میکند. از آنجایی که role یک فیلد تکراری است، میتواند برای هر پیشنهاد چندین عدد وجود داشته باشد. به عنوان مثال، یک پیشنهاد ممکن است یک شیء RoleAndView با role=reader و view=published به علاوه یک شیء RoleAndView اضافی با مقدار role=writer داشته باشد. برای اطلاعات بیشتر، به Views مراجعه کنید.
پارامترهای پرس و جوی زیر را برای سفارشیسازی صفحهبندی یا فیلتر کردن پیشنهادهای دسترسی ارسال کنید:
pageToken: یک توکن صفحه که از فراخوانی لیست قبلی دریافت شده است. این توکن را برای بازیابی صفحه بعدی ارائه دهید.pageSize: حداکثر تعداد پیشنهادهای دسترسی برای بازگشت در هر صفحه.
پیشنهادهای دسترسی معوق را حل کنید
برای حل تمام پیشنهادهای دسترسی در حال بررسی روی یک آیتم Drive، متد resolve را روی منبع accessproposals فراخوانی کنید و پارامترهای مسیر fileId و proposalId وارد کنید.
متد resolve شامل یک پارامتر action query است که نشاندهندهی عملی است که باید روی پیشنهاد انجام شود. شیء Action تغییر وضعیت پیشنهاد را پیگیری میکند تا بدانیم که آیا پذیرفته شده یا رد شده است.
متد resolve همچنین شامل پارامترهای پرسوجوی اختیاری role و view است. تنها نقشهای پشتیبانیشده writer ، commenter و reader هستند. اگر نقش مشخص نشده باشد، بهطور پیشفرض reader در نظر گرفته میشود. برای اطلاعات بیشتر، به بخش نقشها و مجوزها مراجعه کنید. یک پارامتر پرسوجوی اختیاری دیگر به نام sendNotification به شما امکان میدهد هنگام پذیرش یا رد پیشنهاد، یک ایمیل اعلان به درخواستکننده ارسال کنید.
درست مانند روش list ، کاربرانی که پیشنهاد را بررسی میکنند باید قابلیت can_approve_access_proposals را روی فایل داشته باشند. برای اطلاعات بیشتر در مورد capabilities ، به بخش «درک قابلیتهای فایل» مراجعه کنید.
پیشنهادها با استفاده از الگوهای مشابه ذکر شده در بخش سناریوهای اشتراکگذاری منابع درایو حل میشوند. اگر چندین پیشنهاد برای یک کاربر، اما با نقشهای مختلف، وجود داشته باشد، موارد زیر اعمال میشود:
- اگر یک پیشنهاد پذیرفته و یکی رد شود، نقش پذیرفته شده به آیتم Drive اعمال میشود.
- اگر هر دو پیشنهاد همزمان پذیرفته شوند، پیشنهادی که مجوز بالاتری دارد (مثلاً
role=writerدر مقابلrole=reader) اعمال میشود. پیشنهاد دسترسی دیگر از آیتم حذف میشود.
پس از ارسال پیشنهاد به متد resolve ، عمل اشتراکگذاری کامل میشود. پیشنهاد دسترسی حلشده دیگر از طریق متد list بازگردانده نمیشود. پس از پذیرش پیشنهاد، کاربر باید از منبع permissions برای بهروزرسانی مجوزهای یک فایل یا پوشه استفاده کند. برای اطلاعات بیشتر، به بخش بهروزرسانی مجوزها مراجعه کنید.