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

ऐक्सेस का प्रस्ताव, अनुरोध करने वाले व्यक्ति का वह प्रस्ताव होता है जिसमें वह मंज़ूरी देने वाले व्यक्ति से, 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 कलेक्शन का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, अनुमतियों को अपडेट करना लेख पढ़ें.