किसी उपयोगकर्ता के पास 'मेरी ड्राइव' फ़ोल्डर का मालिकाना हक है. ऐसा हो सकता है कि फ़ोल्डर में कई ऐसे उपयोगकर्ता हों जिनके पास अलग-अलग फ़ाइलों का ऐक्सेस हो. ऐक्सेस को सीमित करने वाले इस मॉडल का मतलब है कि अलग-अलग उपयोगकर्ताओं को एक ही फ़ोल्डर में मौजूद आइटम की अलग-अलग सूचियां दिख सकती हैं. अगर किसी उपयोगकर्ता के पास My Drive के पैरंट फ़ोल्डर का ऐक्सेस है, लेकिन उस फ़ोल्डर में मौजूद किसी आइटम का ऐक्सेस नहीं है, तो उसके पास "सीमित ऐक्सेस" होता है. इससे ऐसी स्थिति पैदा हो जाती है जहां यह पता लगाना मुश्किल हो जाता है कि हैरारकी में किसके पास ऐक्सेस है.
इसके उलट, शेयर की गई ड्राइव में मौजूद फ़ाइलों का मालिकाना हक, शेयर की गई ड्राइव के पास होता है. शेयर की गई ड्राइव में एक बड़ा मॉडल होता है, ताकि हर उपयोगकर्ता के पास एक ही फ़ोल्डर में मौजूद आइटम की एक ही सूची हो.
सीमित ऐक्सेस वाले फ़ोल्डर की सुविधा शुरू होने से, शेयर की गई ड्राइव में मौजूद फ़ोल्डर के ऐक्सेस मॉडल को 'मेरी ड्राइव' में भी लागू किया जा सकेगा. इस बदलाव के बाद, सीमित ऐक्सेस वाले फ़ोल्डर ही ऐसे फ़ोल्डर हैं जिनमें 'मेरी ड्राइव' और शेयर की गई ड्राइव, दोनों में किसी खास सब-फ़ोल्डर के ऐक्सेस को सीमित किया जा सकता है.
इस गाइड में बताया गया है कि Google Drive में, सीमित और ज़्यादा ऐक्सेस वाले फ़ोल्डर कैसे मैनेज किए जा सकते हैं.
सीमित ऐक्सेस वाले फ़ोल्डर के बारे में जानकारी
सीमित ऐक्सेस वाले फ़ोल्डर की मदद से, फ़ोल्डर का ऐक्सेस कुछ उपयोगकर्ताओं तक सीमित किया जा सकता है. फ़ोल्डर को सिर्फ़ वे उपयोगकर्ता खोल सकते हैं जिन्हें आपने सीधे तौर पर फ़ोल्डर ऐक्सेस करने की अनुमति दी है. साथ ही, वे ही इसका कॉन्टेंट ऐक्सेस कर सकते हैं. जिन उपयोगकर्ताओं के पास शेयर किए गए 'मेरी ड्राइव' फ़ोल्डर या शेयर की गई ड्राइव के फ़ोल्डर का इनहेरिट किया गया ऐक्सेस है (पैरंट फ़ोल्डर के ऐक्सेस के ज़रिए), वे Drive में पाबंदी वाले फ़ोल्डर को देख सकते हैं, लेकिन उसे खोल नहीं सकते. इस सुविधा की मदद से, 'मेरी ड्राइव' और 'शेयर की गई ड्राइव' में मौजूद आइटम को शेयर करने के तरीके को बेहतर तरीके से अलाइन किया जा सकता है. इससे आपको संवेदनशील कॉन्टेंट वाले फ़ोल्डर को, ज़्यादा लोगों के साथ शेयर किए गए कॉन्टेंट के साथ व्यवस्थित करने में मदद मिलती है.
सीमित ऐक्सेस वाले फ़ोल्डर, 'मेरी ड्राइव' और शेयर की गई ड्राइव, दोनों में उपलब्ध होते हैं. 'मेरी ड्राइव' में owner
की भूमिका और शेयर की गई ड्राइव में organizer
की भूमिका वाले लोग, सीमित ऐक्सेस वाले फ़ोल्डर को हमेशा ऐक्सेस कर सकते हैं. फ़ोल्डर के उपयोगकर्ताओं की सूची में बदलाव करने के लिए, किसी खास अनुमति की ज़रूरत नहीं होती. जिन भूमिकाओं के पास फ़ोल्डर शेयर करने की अनुमति होती है वे सदस्यों की सूचियां अपडेट कर सकती हैं. भूमिकाओं और अनुमतियों के बारे में ज़्यादा जानने के लिए, भूमिकाएं और अनुमतियां और शेयर की गई ड्राइव की खास जानकारी लेख पढ़ें.
ध्यान दें कि फ़ोल्डर एक तरह की फ़ाइल होते हैं. हालांकि, फ़ाइलों के लिए सीमित ऐक्सेस की सुविधा उपलब्ध नहीं है.
किसी फ़ोल्डर के लिए सीमित ऐक्सेस सेट करना
जिन उपयोगकर्ताओं के पास फ़ोल्डर का ऐक्सेस होता है वे सीमित ऐक्सेस वाले फ़ोल्डर को ऐक्सेस कर सकते हैं. हालांकि, 'मेरी ड्राइव' में owner
की भूमिका और शेयर की गई ड्राइव में organizer
की भूमिका वाले उपयोगकर्ता ही, सीमित ऐक्सेस की सुविधा को चालू या बंद कर सकते हैं.
इसके अलावा, अगर 'मेरी ड्राइव' में writer
की भूमिका वाले किसी उपयोगकर्ता के पास, files
संसाधन पर writersCanShare
बूलियन फ़ील्ड को true
पर सेट करने का विकल्प है, तो वह भी इस सुविधा को चालू या बंद कर सकता है.
किसी फ़ोल्डर का ऐक्सेस सीमित करने के लिए, files
रिसोर्स पर मौजूद बूलियन inheritedPermissionsDisabled
फ़ील्ड को true
पर सेट करें. true
होने पर, सिर्फ़ owner
भूमिका, organizer
भूमिका, और फ़ोल्डर की अनुमतियों वाले उपयोगकर्ता इसे ऐक्सेस कर सकते हैं.
इनहेरिट की गई अनुमतियों को फिर से चालू करने के लिए, inheritedPermissionsDisabled
को false
पर सेट करें.
किसी फ़ोल्डर का ऐक्सेस सीमित करने की अनुमति की पुष्टि करना
यह देखने के लिए कि किसी फ़ोल्डर का ऐक्सेस सीमित किया जा सकता है या नहीं, files
संसाधन पर capabilities.canDisableInheritedPermissions
और capabilities.canEnableInheritedPermissions
फ़ील्ड की बूलियन वैल्यू देखें. इन सेटिंग से यह पुष्टि की जाती है कि आपके पास inheritedPermissionsDisabled
फ़ील्ड के ज़रिए, किसी फ़ोल्डर का ऐक्सेस सीमित करने की अनुमति है या नहीं.
capabilities
के बारे में ज़्यादा जानकारी के लिए, फ़ाइल की सुविधाओं के बारे में जानें लेख पढ़ें.
सीमित ऐक्सेस वाले फ़ोल्डर के चाइल्ड आइटम की सूची बनाना
यह देखने के लिए कि किसी फ़ोल्डर के बच्चों को सूची में शामिल किया जा सकता है या नहीं, capabilities.canListChildren
बूलियन फ़ील्ड का इस्तेमाल करें.
अगर आइटम कोई फ़ोल्डर नहीं है या अनुरोध करने वाले व्यक्ति का फ़ोल्डर के कॉन्टेंट का ऐक्सेस हटा दिया गया है, तो दिखाई गई वैल्यू हमेशा false
होती है. ऐसा तब होता है, जब inheritedPermissionsDisabled
को false
पर सेट किया गया हो.
अगर आपको फ़ोल्डर के कॉन्टेंट का ऐक्सेस नहीं है, तो भी files.get()
और files.list()
तरीकों का इस्तेमाल करके, फ़ोल्डर के मेटाडेटा को ऐक्सेस किया जा सकता है. यह पुष्टि करने के लिए कि ऐक्सेस सीमित है, जवाब के मुख्य हिस्से में देखें कि आइटम, MIME टाइप application/vnd.google-apps.folder
वाला फ़ोल्डर है या नहीं. साथ ही, यह भी देखें कि capabilities.canListChildren
फ़ील्ड की वैल्यू false पर सेट है या नहीं. ऐसे फ़ोल्डर के चाइल्ड फ़ोल्डर की सूची बनाने पर, नतीजे में हमेशा कुछ नहीं दिखता.
सीमित ऐक्सेस वाले फ़ोल्डर के मेटाडेटा को ऐक्सेस करना
अगर आपके पास फ़ोल्डर के कॉन्टेंट का ऐक्सेस नहीं है, तो सीमित ऐक्सेस वाले फ़ोल्डर से आपको फ़ोल्डर का मेटाडेटा देखने की सुविधा मिलती है.
किसी उपयोगकर्ता के ऐक्सेस का पता लगाने के लिए, permissions
संसाधन का इस्तेमाल करते समय, 'मेरी ड्राइव' और शेयर की गई ड्राइव के ऐसे फ़ोल्डर जो सिर्फ़ मेटाडेटा का ऐक्सेस देते हैं उनमें रिस्पॉन्स बॉडी में ये वैल्यू शामिल होती हैं: inheritedPermissionsDisabled=true
और view=metadata
. भूमिका हमेशा reader
पर सेट होती है. view
फ़ील्ड में सिर्फ़ उन अनुमतियों के लिए जानकारी अपने-आप भर जाती है जो view
से जुड़ी हैं. ज़्यादा जानकारी के लिए, व्यू देखें.
permissionDetails
फ़ील्ड की सभी एंट्री के लिए, inherited
फ़ील्ड को true
पर सेट किया गया है. इससे पता चलता है कि अनुमति इनहेरिट की गई है और फ़ोल्डर के कॉन्टेंट को सीधे तौर पर ऐक्सेस करने की अनुमति नहीं दी गई है.
फ़ोल्डर के कॉन्टेंट और मेटाडेटा, दोनों का ऐक्सेस देने के लिए, inheritedPermissionsDisabled
फ़ील्ड को false
पर सेट करें या भूमिका को reader
या इससे ऊपर के लेवल पर अपडेट करें.
आखिर में, अगर किसी फ़ोल्डर (inheritedPermissionsDisabled=true
) के लिए, इनहेरिटेंस की सुविधा बंद करके किसी अनुमति को पहले सीमित किया गया था और फिर उस अनुमति को सीधे तौर पर फ़ोल्डर में वापस जोड़ दिया गया था, तो जवाब के मुख्य हिस्से में मौजूद वैल्यू inheritedPermissionsDisabled=true
हो जाती हैं. साथ ही, view
फ़ील्ड को 'सेट नहीं किया गया' के तौर पर मार्क कर दिया जाता है. अगर फ़ोल्डर किसी 'शेयर की गई ड्राइव' में है, तो permissionDetails
सूची में एक एंट्री होती है. इसमें inherited
फ़ील्ड को false
पर सेट किया जाता है, ताकि यह पता चल सके कि अनुमति इनहेरिट नहीं की गई है. इस अनुमति से, फ़ोल्डर के कॉन्टेंट और मेटाडेटा, दोनों को ऐक्सेस किया जा सकता है. जैसे, किसी अन्य अनुमति से किया जाता है.
सीमित ऐक्सेस वाले फ़ोल्डर मिटाना
files
संसाधन पर, files.delete()
तरीके का इस्तेमाल करके, सीमित ऐक्सेस वाले फ़ोल्डर मिटाए जा सकते हैं.
'मेरी ड्राइव' में, फ़ोल्डर हैरारकी को सिर्फ़ आइटम का मालिक ही मिटा सकता है. अगर कोई उपयोगकर्ता, ऐसे फ़ोल्डर की हैरारकी मिटाता है जिनका ऐक्सेस सीमित है और जिनका मालिकाना हक किसी दूसरे के पास है, तो ये फ़ोल्डर, मालिक के 'मेरी ड्राइव' में चले जाते हैं.
अगर उपयोगकर्ता के पास owner
की भूमिका है, तो पूरी हैरारकी मिट जाती है.
शेयर की गई ड्राइव में, organizer
की भूमिका वाले लोग हैरारकी मिटा सकते हैं. भले ही, उनमें सीमित ऐक्सेस वाले फ़ोल्डर मौजूद हों. अगर fileOrganizer
की भूमिका वाला व्यक्ति, सीमित ऐक्सेस वाले फ़ोल्डर वाली किसी हैरारकी को मिटाता है, तो इसका नतीजा इस बात पर निर्भर करता है कि उसे सीमित ऐक्सेस वाले फ़ोल्डर में fileOrganizer
के तौर पर फिर से जोड़ा गया था या नहीं. अगर ऐसा है, तो पूरी हैरारकी मिटा दी जाती है. अगर ऐसा नहीं है, तो सीमित ऐक्सेस वाले फ़ोल्डर, शेयर की गई ड्राइव के रूट फ़ोल्डर में चले जाते हैं.
सभी के लिए उपलब्ध ऐक्सेस के बारे में जानकारी
सीमित ऐक्सेस वाले फ़ोल्डर की सुविधा से, शेयर की गई ड्राइव से लेकर 'मेरी ड्राइव' तक, ऐक्सेस मॉडल को बेहतर बनाया जा सकता है. ऐक्सेस मॉडल के रोल आउट होने के बाद, किसी फ़ोल्डर का ऐक्सेस होने का मतलब है कि आपके पास उस फ़ोल्डर हैरारकी में मौजूद सभी आइटम का कम से कम उसी लेवल का ऐक्सेस है. सीमित ऐक्सेस वाले फ़ोल्डर, एक ऐसा अपवाद है जिसकी मदद से 'मेरी ड्राइव' और शेयर की गई ड्राइव, दोनों में किसी खास सब-फ़ोल्डर का ऐक्सेस सीमित किया जा सकता है. इसका यह भी मतलब है कि अगर आपके फ़ोल्डर का ऐक्सेस सीमित नहीं है, तो पैरंट फ़ोल्डर से मिले ऐक्सेस को अब हटाया नहीं जा सकता. ऐसा करने पर, Drive API गड़बड़ी का मैसेज दिखाता है. किसी फ़ोल्डर के अंदर मौजूद फ़ाइलों के लिए, ज़्यादा बारीकी से ऐक्सेस कंट्रोल सेट करने के लिए, फ़ोल्डर का ऐक्सेस सीमित किया जा सकता है.
सभी के लिए उपलब्ध ऐक्सेस के हिसाब से ढलना
डेवलपर के लिए, 'सभी के लिए उपलब्ध ऐक्सेस' मॉडल को अपनाना आसान बनाने के लिए, Google Drive API में कई सुधार किए गए हैं:
permissions
संसाधन केpermissionDetails[]
फ़ील्ड में, अब 'मेरी ड्राइव' में मौजूद आइटम के लिए जानकारी भरी गई है. पहले, फ़ील्ड या तो सेट नहीं किए गए थे या उन्हेंteamDrivePermissionDetails
फ़ील्ड से कॉपी किया गया था. सिर्फ़ 'मेरी ड्राइव' में मौजूदpermissionType
औरinherited
फ़ील्ड में डेटा अपने-आप भरता है.permissionDetails[].inherited
फ़ील्ड से पता चलता है कि अनुमति, आइटम के पैरंट से इनहेरिट की गई है या नहीं. इससे यह पता लगाया जा सकता है कि क्या कुछ भूमिकाएं (जैसे किreader
) पैरंट से इनहेरिट की गई हैं. साथ ही, यह भी पता लगाया जा सकता है कि क्या किसी आइटम को सीधे तौर पर कोई बड़ी भूमिका (जैसे किwriter
) दी गई है.किसी आइटम के लिए अनुमतियां देखते समय,
permissionDetails[]
फ़ील्ड में एक से ज़्यादा एंट्री हो सकती हैं. अगर मौजूद है, तो उस स्कोप के लिए आइटम पर सीधे तौर पर अनुमति देने वाली एक एंट्री होती है. इसके बाद, आइटम पर इनहेरिट की गई या सदस्य की अनुमतियों के लिए एंट्री होती हैं.डेवलपर, आने वाले समय में नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) से जुड़ी किसी भी ज़रूरी कार्रवाई से पहले, 'मेरा ड्राइव' में एपीआई के ज़्यादा ऐक्सेस के लिए ऑप्ट इन कर सकते हैं.
enforceExpansiveAccess
अनुरोध पैरामीटर कोtrue
पर सेट किया जा सकता है, ताकि आने वाले समय में, ज़्यादा ऐक्सेस से जुड़े बदलावों का आपके ऐप्लिकेशन पर असर न पड़े.अभी ऑप्ट-इन करने का मतलब है कि एपीआई, 'मेरी ड्राइव' में मौजूद आइटम के लिए उसी तरह काम करेगा जिस तरह वह पहले से ही शेयर की गई ड्राइव में मौजूद आइटम के लिए काम करता है. उदाहरण के लिए, जब
permissions.update()
को कॉल किया जाता है, तब इनहेरिट की गई भूमिका से कम भूमिका वाले उपयोगकर्ता के लिए ऐक्सेस को सीमित करने की कोई भी कोशिश पूरी नहीं होती. इसी तरह, अगर अनुमति इनहेरिट की गई है, तोpermissions.delete()
को कॉल करने पर गड़बड़ी होती है.
प्रतिबंधित ऐक्सेस का पता लगाना और उसे रोकना
permissions.update()
या permissions.delete()
तरीकों का इस्तेमाल करते समय, आपका ऐप्लिकेशन 'मेरी ड्राइव' के फ़ोल्डर पर सीमित ऐक्सेस बना सकता है. इसका मतलब है कि उपयोगकर्ता के पास 'मेरी ड्राइव' के पैरंट फ़ोल्डर का ऐक्सेस है, लेकिन उस फ़ोल्डर में मौजूद किसी फ़ाइल का ऐक्सेस नहीं है.
इन तरीकों का इस्तेमाल करते समय, permissions
संसाधन के फ़ील्ड की समीक्षा की जा सकती है. इससे यह पता चलता है कि किसी अनुरोध से, ऐक्सेस पर पाबंदी कहां लग सकती है. साथ ही, ऐसे अनुरोध भेजने से बचा जा सकता है. इस स्थिति का पता लगाने के लिए, अपने अनुरोध में enforceExpansiveAccess
फ़ील्ड का इस्तेमाल करें.
इसके अलावा, अगर आपके ऐप्लिकेशन ने पहले ही आपके फ़ोल्डर के ऐक्सेस पर पाबंदी लगा दी है, तो यह तरीका अपनाएं:
फ़ोल्डर के क्रम में ऊपर-नीचे जाकर, प्रतिबंधित ऐक्सेस हटाएं. इसके बजाय, आपको फ़ोल्डर का ऐक्सेस सीमित करना चाहिए.
अगर आपको किसी फ़ाइल को शेयर करने की सुविधा बंद करनी है, तो एक इंटरमीडिएट फ़ोल्डर बनाएं. इसके बाद, उस फ़ोल्डर के लिए सीमित ऐक्सेस सेट करें और फ़ाइल को नए फ़ोल्डर में ले जाएं.
अगर आपको सीमित ऐक्सेस वाले फ़ोल्डर का इस्तेमाल नहीं करना है, लेकिन कुछ लोगों का ऐक्सेस हटाना है, तो फ़ाइल को किसी निजी फ़ोल्डर में ले जाएं. जैसे, 'मेरी ड्राइव' का रूट फ़ोल्डर. इसके बाद, आइटम की ओरिजनल लोकेशन का शॉर्टकट बनाएं, ताकि उपयोगकर्ता अब भी इसका इस्तेमाल कर सकें.
मिलते-जुलते विषय
- फ़ाइलें, फ़ोल्डर, और ड्राइव शेयर करना
- शेयर की गई ड्राइव में फ़ाइल ऐक्सेस करने की सुविधा कैसे काम करती है
- सीमित ऐक्सेस वाले फ़ोल्डर के बारे में जानकारी