অ্যাক্সেস প্রস্তাব হলো কোনো প্রাপককে গুগল ড্রাইভের কোনো আইটেমে অ্যাক্সেস দেওয়ার জন্য অনুরোধকারীর পক্ষ থেকে অনুমোদনকারীর কাছে করা একটি প্রস্তাব।
একজন অনুমোদনকারী ড্রাইভ ফাইল জুড়ে থাকা সমস্ত অমীমাংসিত অ্যাক্সেস প্রস্তাব পর্যালোচনা করতে এবং সে অনুযায়ী ব্যবস্থা নিতে পারেন। এর মানে হলো, আপনি প্রোগ্রামগতভাবে অ্যাক্সেস প্রস্তাবগুলো অনুসন্ধান করে এবং তারপর সেগুলোর সমাধান করে অনুমোদন প্রক্রিয়াকে দ্রুততর করতে পারেন। এটি একজন অনুমোদনকারীকে প্রস্তাবগুলো সমষ্টিগতভাবে দেখার সুযোগও দেয়।
গুগল ড্রাইভ এপিআই ‘ accessproposals রিসোর্সটি প্রদান করে, যার মাধ্যমে আপনি মুলতুবি থাকা অ্যাক্সেস প্রস্তাবনাগুলো দেখতে ও সমাধান করতে পারেন। accessproposals রিসোর্সের মেথডগুলো ফাইল, ফোল্ডার এবং শেয়ার্ড ড্রাইভের ভেতরের ফাইলগুলোর ওপর কাজ করে, কিন্তু শেয়ার্ড ড্রাইভটির ওপর কাজ করে না ।
নিম্নলিখিত শর্তাবলী প্রবেশাধিকার প্রস্তাবের ক্ষেত্রে নির্দিষ্ট:
- অনুরোধকারী : যে ব্যবহারকারী কোনো ড্রাইভ আইটেমে অ্যাক্সেসের প্রস্তাবটি শুরু করেন।
- প্রাপক : অ্যাক্সেসের প্রস্তাব মঞ্জুর করা হলে যে ব্যবহারকারী কোনো ফাইলের উপর অতিরিক্ত অনুমতি লাভ করেন। অনেক সময় প্রাপক এবং অনুরোধকারী একই ব্যক্তি হন, কিন্তু সবসময় এমনটা হয় না।
- অনুমোদনকারী : যে ব্যবহারকারী অ্যাক্সেস প্রস্তাবটি অনুমোদন (বা প্রত্যাখ্যান) করার দায়িত্বে থাকেন। সাধারণত এর কারণ হলো, তিনি ডকুমেন্টটির মালিক অথবা ডকুমেন্টটি শেয়ার করার ক্ষমতা রাখেন।
ফিল্ড প্যারামিটার ব্যবহার করুন
আপনি যদি রেসপন্সে ফেরত আসা ফিল্ডগুলো নির্দিষ্ট করে দিতে চান, তাহলে accessproposals রিসোর্সের যেকোনো মেথডের সাথে fields সিস্টেম প্যারামিটারটি সেট করতে পারেন। আপনি যদি fields প্যারামিটারটি বাদ দেন, তাহলে সার্ভার মেথডটির জন্য নির্দিষ্ট কিছু ডিফল্ট ফিল্ড ফেরত দেবে। ভিন্ন ফিল্ড ফেরত দেওয়ার জন্য, “Return specific fields” দেখুন।
একটি বিচারাধীন অ্যাক্সেস প্রস্তাব পান
অ্যাক্সেস প্রস্তাব পেতে, accessproposals রিসোর্সের ` get মেথডটি fileId এবং proposalId পাথ প্যারামিটারসহ ব্যবহার করুন। যদি আপনি প্রস্তাব আইডি না জানেন, তবে ` list মেথড ব্যবহার করে অপেক্ষাধীন অ্যাক্সেস প্রস্তাবগুলোর তালিকা দেখতে পারেন।
বিচারাধীন প্রবেশাধিকার প্রস্তাবগুলির তালিকা
কোনো ড্রাইভ আইটেমের সমস্ত মুলতুবি থাকা অ্যাক্সেস প্রস্তাবনা তালিকাভুক্ত করতে, accessproposals রিসোর্সের list মেথডটি কল করুন এবং fileId পাথ প্যারামিটারটি অন্তর্ভুক্ত করুন।
শুধুমাত্র ফাইলের অনুমোদকরাই ফাইলের মুলতুবি থাকা প্রস্তাবনাগুলো তালিকাভুক্ত করতে পারেন। অনুমোদক হলেন এমন একজন ব্যবহারকারী যার ফাইলটিতে ` can_approve_access_proposals ক্যাপাবিলিটি রয়েছে। যদি অনুরোধকারী অনুমোদক না হন, তাহলে একটি খালি তালিকা ফেরত দেওয়া হয়। capabilities সম্পর্কে আরও তথ্যের জন্য, `Understand file capabilities` দেখুন।
রেসপন্স বডিতে একটি accessproposals অবজেক্ট থাকে, যা ফাইলটির ওপর অমীমাংসিত অ্যাক্সেস প্রপোজালগুলোর একটি তালিকা উপস্থাপন করে।
accessproposals অবজেক্টটিতে প্রতিটি প্রস্তাবনা সম্পর্কিত তথ্য অন্তর্ভুক্ত থাকে, যেমন অনুরোধকারী, প্রাপক এবং অনুরোধকারীর যোগ করা বার্তা। এতে একটি RoleAndView অবজেক্টও অন্তর্ভুক্ত থাকে যা অনুরোধকারীর প্রস্তাবিত role একটি view এর সাথে একত্রিত করে। যেহেতু role একটি পুনরাবৃত্ত ক্ষেত্র, তাই প্রতিটি প্রস্তাবনার জন্য এর একাধিক সংস্করণ থাকতে পারে। উদাহরণস্বরূপ, একটি প্রস্তাবনার role=reader এবং view=published সহ একটি RoleAndView অবজেক্ট থাকতে পারে, এবং এর সাথে শুধুমাত্র role=writer মান সহ একটি অতিরিক্ত RoleAndView অবজেক্টও থাকতে পারে। আরও তথ্যের জন্য, Views দেখুন।
অ্যাক্সেস প্রস্তাবনাগুলোর পেজিনেশন কাস্টমাইজ করতে বা ফিল্টার করতে নিম্নলিখিত কোয়েরি প্যারামিটারগুলো পাস করুন:
pageToken: পূর্ববর্তী তালিকা আহ্বান থেকে প্রাপ্ত একটি পৃষ্ঠা টোকেন। পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করতে এই টোকেনটি প্রদান করুন।pageSize: প্রতি পৃষ্ঠায় ফেরত দেওয়া অ্যাক্সেস প্রস্তাবের সর্বোচ্চ সংখ্যা।
অমীমাংসিত প্রবেশাধিকার প্রস্তাবগুলির সমাধান করুন
একটি ড্রাইভ আইটেমের সমস্ত মুলতুবি থাকা অ্যাক্সেস প্রস্তাবনা সমাধান করতে, accessproposals রিসোর্সের resolve মেথডটি কল করুন এবং fileId ও proposalId পাথ প্যারামিটারগুলো অন্তর্ভুক্ত করুন।
resolve মেথডটিতে একটি action কোয়েরি প্যারামিটার থাকে, যা প্রস্তাবটির উপর কী পদক্ষেপ নেওয়া হবে তা নির্দেশ করে। ` Action অবজেক্টটি প্রস্তাবটির অবস্থার পরিবর্তন ট্র্যাক করে, ফলে আমরা জানতে পারি যে এটি গৃহীত হচ্ছে নাকি প্রত্যাখ্যাত হচ্ছে।
` resolve মেথডটিতে role এবং view এর মতো ঐচ্ছিক কোয়েরি প্যারামিটারও অন্তর্ভুক্ত রয়েছে। শুধুমাত্র writer , commenter এবং reader রোলগুলোই সমর্থিত। যদি রোল নির্দিষ্ট করা না থাকে, তবে এটি ডিফল্টভাবে reader হয়ে যায়। আরও তথ্যের জন্য, `Roles and permissions` দেখুন। sendNotification নামক একটি অতিরিক্ত ঐচ্ছিক কোয়েরি প্যারামিটার আপনাকে প্রস্তাবটি গৃহীত বা প্রত্যাখ্যাত হলে অনুরোধকারীকে একটি ইমেল বিজ্ঞপ্তি পাঠাতে দেয়।
list পদ্ধতির মতোই, প্রস্তাবটি সমাধানকারী ব্যবহারকারীদের ফাইলটির উপর অবশ্যই can_approve_access_proposals ক্যাপাবিলিটি থাকতে হবে। capabilities সম্পর্কে আরও তথ্যের জন্য, “Understand file capabilities” দেখুন।
ড্রাইভ রিসোর্স শেয়ার করার সিনারিও-এর অধীনে তালিকাভুক্ত একই প্যাটার্ন ব্যবহার করে প্রস্তাবনাগুলো সমাধান করা হয়। যদি একই ব্যবহারকারীর জন্য একাধিক প্রস্তাবনা থাকে, কিন্তু তাদের ভূমিকা ভিন্ন হয়, তাহলে নিম্নলিখিত নিয়ম প্রযোজ্য হবে:
- যদি একটি প্রস্তাব গৃহীত হয় এবং অন্যটি প্রত্যাখ্যাত হয়, তবে গৃহীত ভূমিকাটি 'ড্রাইভ' আইটেমটির ক্ষেত্রে প্রযোজ্য হবে।
- যদি উভয় প্রস্তাব একই সাথে গৃহীত হয়, তবে উচ্চতর অনুমতিসম্পন্ন প্রস্তাবটি (উদাহরণস্বরূপ,
role=writerবনামrole=reader) প্রয়োগ করা হয়। অন্য অ্যাক্সেস প্রস্তাবটি আইটেমটি থেকে সরিয়ে দেওয়া হয়।
resolve মেথডে একটি প্রস্তাব পাঠানোর পর, শেয়ারিং প্রক্রিয়াটি সম্পন্ন হয়। সমাধান করা অ্যাক্সেস প্রস্তাবটি আর list মেথডের মাধ্যমে ফেরত দেওয়া হয় না। প্রস্তাবটি গৃহীত হয়ে গেলে, ব্যবহারকারীকে কোনো ফাইল বা ফোল্ডারের অনুমতি হালনাগাদ করার জন্য ` permissions রিসোর্সটি ব্যবহার করতে হবে। আরও তথ্যের জন্য, `Update permissions` দেখুন।