ऐक्सेस के लंबित अनुरोध मैनेज करना

ऐक्सेस का प्रस्ताव, अनुरोध करने वाले व्यक्ति की ओर से मंज़ूरी देने वाले व्यक्ति को भेजा जाता है. इसमें, अनुरोध करने वाला व्यक्ति, मंज़ूरी देने वाले व्यक्ति से किसी Google Drive आइटम का ऐक्सेस पाने वाले व्यक्ति को ऐक्सेस देने का अनुरोध करता है.

अनुमति देने वाला व्यक्ति, Drive की फ़ाइलों के लिए, ऐक्सेस के सभी ऐसे अनुरोधों की समीक्षा कर सकता है जिन पर अब तक कोई फ़ैसला नहीं लिया गया है. इसका मतलब है कि प्रोग्राम के हिसाब से ऐक्सेस के प्रस्तावों के लिए क्वेरी करके और फिर उन्हें हल करके, मंज़ूरी पाने की प्रोसेस को तेज़ किया जा सकता है. इससे मंज़ूरी देने वाला व्यक्ति, सभी प्रस्तावों को एक साथ देख सकता है.

Google Drive API, accessproposals संसाधन उपलब्ध कराता है. इससे, ऐक्सेस के लिए लंबित अनुरोधों को देखा जा सकता है और उन्हें स्वीकार या अस्वीकार किया जा सकता है. accessproposals संसाधन के तरीके, फ़ाइलों, फ़ोल्डर, और शेयर की गई ड्राइव में मौजूद फ़ाइलों पर काम करते हैं. हालांकि, ये शेयर की गई ड्राइव पर काम नहीं करते.

ऐक्सेस के प्रस्तावों के लिए, ये शर्तें लागू होती हैं:

  • अनुरोध करने वाला व्यक्ति: वह व्यक्ति जो Drive आइटम को ऐक्सेस करने का अनुरोध करता है.
  • पाने वाला: अगर ऐक्सेस का अनुरोध स्वीकार कर लिया जाता है, तो यह वह उपयोगकर्ता होता है जिसे किसी फ़ाइल पर अतिरिक्त अनुमतियां मिलती हैं. कई बार, अनुरोध करने वाला और अनुरोध पाने वाला एक ही व्यक्ति होता है. हालांकि, ऐसा हमेशा नहीं होता.
  • अनुमति देने वाला व्यक्ति: यह वह व्यक्ति होता है जिसके पास ऐक्सेस के अनुरोध को स्वीकार या अस्वीकार करने की ज़िम्मेदारी होती है. आम तौर पर, ऐसा इसलिए होता है, क्योंकि वे दस्तावेज़ के मालिक होते हैं या उनके पास दस्तावेज़ शेयर करने की अनुमति होती है.

ऐक्सेस के उन अनुरोधों की सूची दिखाओ जिन्हें मंज़ूरी मिलना बाकी है

Drive आइटम पर, ऐक्सेस के सभी लंबित अनुरोधों की सूची बनाने के लिए, accessproposals संसाधन पर list() तरीके को कॉल करें. साथ ही, fileId पाथ पैरामीटर शामिल करें.

किसी फ़ाइल के लिए मंज़ूरी देने वाले लोग ही, उस फ़ाइल पर मंज़ूरी के लिए रुके हुए प्रस्तावों की सूची देख सकते हैं. अनुमति देने वाला व्यक्ति वह उपयोगकर्ता होता है जिसके पास फ़ाइल पर can_approve_access_proposals की सुविधा होती है. अगर अनुरोध करने वाला व्यक्ति, मंज़ूरी देने वाला नहीं है, तो खाली सूची दिखाई जाती है. capabilities के बारे में ज़्यादा जानकारी के लिए, फ़ाइल की सुविधाओं के बारे में जानें लेख पढ़ें.

जवाब के मुख्य हिस्से में, AccessProposal ऑब्जेक्ट होता है. यह ऑब्जेक्ट, फ़ाइल पर ऐक्सेस के उन सभी प्रस्तावों की सूची दिखाता है जिन्हें अब तक स्वीकार नहीं किया गया है.

AccessProposal ऑब्जेक्ट में हर प्रस्ताव के बारे में जानकारी शामिल होती है. जैसे, अनुरोध करने वाला व्यक्ति, अनुरोध पाने वाला व्यक्ति, और अनुरोध करने वाले व्यक्ति ने जो मैसेज जोड़ा है वह. इसमें AccessProposalRoleAndView ऑब्जेक्ट भी शामिल होता है. यह ऑब्जेक्ट, अनुरोध करने वाले व्यक्ति के सुझाए गए role को view के साथ ग्रुप करता है. role एक दोहराया गया फ़ील्ड है. इसलिए, हर प्रपोज़ल के लिए एक से ज़्यादा वैल्यू मौजूद हो सकती हैं. उदाहरण के लिए, किसी प्रपोज़ल में role=reader और view=published का AccessProposalRoleAndView ऑब्जेक्ट हो सकता है. साथ ही, इसमें सिर्फ़ role=writer वैल्यू वाला एक और AccessProposalRoleAndView ऑब्जेक्ट भी हो सकता है. ज़्यादा जानकारी के लिए, व्यू देखें.

ऐक्सेस के प्रस्तावों के पेज नंबर को पसंद के मुताबिक बनाने या उन्हें फ़िल्टर करने के लिए, यहां दिए गए क्वेरी पैरामीटर पास करें:

  • pageToken: यह एक पेज टोकन है, जो सूची बनाने के लिए किए गए पिछले कॉल से मिला है. अगला पेज पाने के लिए, यह टोकन दें.

  • pageSize: हर पेज पर, ऐक्सेस के अनुरोधों की ज़्यादा से ज़्यादा संख्या.

ऐक्सेस के लंबित प्रस्तावों को स्वीकार या अस्वीकार करना

Drive आइटम पर, ऐक्सेस के सभी लंबित अनुरोधों को हल करने के लिए, accessproposals संसाधन पर resolve() तरीके को कॉल करें. साथ ही, fileId और proposalId पाथ पैरामीटर शामिल करें.

resolve() तरीके में action क्वेरी पैरामीटर शामिल होता है. यह पैरामीटर, प्रपोज़ल पर की जाने वाली कार्रवाई के बारे में बताता है. Action ऑब्जेक्ट, प्रस्ताव की स्थिति में होने वाले बदलाव को ट्रैक करता है, ताकि हमें पता चल सके कि इसे स्वीकार किया जा रहा है या अस्वीकार किया जा रहा है.

resolve() तरीके में, role और view के वैकल्पिक क्वेरी पैरामीटर भी शामिल होते हैं. सिर्फ़ writer, commenter, और reader भूमिकाओं के लिए यह सुविधा उपलब्ध है. अगर भूमिका नहीं बताई गई है, तो डिफ़ॉल्ट रूप से reader लागू हो जाती है. send_notification का एक और क्वेरी पैरामीटर, अनुरोध करने वाले व्यक्ति को ईमेल से सूचना भेजने की सुविधा देता है. ऐसा तब होता है, जब प्रस्ताव स्वीकार या अस्वीकार कर दिया जाता है.

list() तरीके की तरह ही, प्रस्ताव को स्वीकार करने वाले उपयोगकर्ताओं के पास फ़ाइल पर can_approve_access_proposals की सुविधा होनी चाहिए. capabilities के बारे में ज़्यादा जानकारी के लिए, फ़ाइल की सुविधाओं के बारे में जानें लेख पढ़ें.

प्रस्तावों को हल करने के लिए, Drive के संसाधन शेयर करने के उदाहरण में दिए गए पैटर्न का इस्तेमाल किया जाता है. अगर एक ही उपयोगकर्ता के लिए, अलग-अलग भूमिकाओं वाले कई प्रस्ताव हैं, तो इन बातों का ध्यान रखें:

  • अगर एक प्रस्ताव स्वीकार कर लिया जाता है और दूसरा अस्वीकार कर दिया जाता है, तो Drive आइटम पर स्वीकार की गई भूमिका लागू होती है.
  • अगर दोनों प्रस्तावों को एक ही समय पर स्वीकार कर लिया जाता है, तो ज़्यादा अनुमति वाले प्रस्ताव को लागू किया जाता है. उदाहरण के लिए, role=writer बनाम role=reader. ऐक्सेस के लिए किए गए दूसरे अनुरोध को आइटम से हटा दिया जाता है.

resolve() तरीके से प्रपोज़ल भेजने के बाद, शेयर करने की कार्रवाई पूरी हो जाती है. AccessProposal को अब list() तरीके से नहीं लौटाया जाता. प्रस्ताव स्वीकार होने के बाद, उपयोगकर्ता को किसी फ़ाइल या फ़ोल्डर पर अनुमतियां अपडेट करने के लिए, permissions कलेक्शन का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, अनुमतियां अपडेट करना लेख पढ़ें.