उपयोगकर्ताओं को उन स्क्रिप्ट प्रोजेक्ट को अनुमति देनी होगी जो उनका डेटा ऐक्सेस करते हैं या उनकी ओर से कार्रवाई करते हैं. जब कोई उपयोगकर्ता पहली बार ऐसी स्क्रिप्ट चलाता है जिसके लिए अनुमति की ज़रूरत होती है, तो यूज़र इंटरफ़ेस (यूआई) अनुमति फ़्लो शुरू करने के लिए एक प्रॉम्प्ट दिखाता है.
इस फ़्लो के दौरान, यूज़र इंटरफ़ेस (यूआई) उपयोगकर्ता को बताता है कि स्क्रिप्ट को क्या करने की अनुमति चाहिए. उदाहरण के लिए, हो सकता है कि स्क्रिप्ट को उपयोगकर्ता के ईमेल मैसेज पढ़ने या उसके कैलेंडर में इवेंट बनाने की अनुमति चाहिए. स्क्रिप्ट प्रोजेक्ट, इन अलग-अलग अनुमतियों को OAuth दायरे के तौर पर तय करता है.
ज़्यादातर स्क्रिप्ट के लिए, Apps Script अपने-आप यह पता लगा लेता है कि आपके लिए कौनसे स्कोप ज़रूरी हैं. किसी भी समय, स्क्रिप्ट के इस्तेमाल किए गए स्कोप देखे जा सकते हैं. यूआरएल स्ट्रिंग का इस्तेमाल करके, अपने manifest में स्कोप साफ़ तौर पर सेट भी किए जा सकते हैं. ऐड-ऑन जैसे कुछ ऐप्लिकेशन के लिए, स्कोप को साफ़ तौर पर सेट करना ज़रूरी होता है. ऐसा इसलिए, क्योंकि पब्लिश किए गए ऐप्लिकेशन को हमेशा सबसे छोटे स्कोप का इस्तेमाल करना चाहिए.
अनुमति देने के दौरान, Apps Script उपयोगकर्ता को ज़रूरी स्कोप के बारे में ऐसी जानकारी दिखाता है जिसे कोई भी पढ़ सकता है. उदाहरण के लिए, अगर आपकी स्क्रिप्ट को आपकी स्प्रेडशीट का रीड-ओनली ऐक्सेस चाहिए, तो मेनिफ़ेस्ट में स्कोप https://www.googleapis.com/auth/spreadsheets.readonly
हो सकता है. अनुमति देने के फ़्लो के दौरान, इस दायरे वाली स्क्रिप्ट, उपयोगकर्ता से इस ऐप्लिकेशन को "आपके Google स्प्रेडशीट देखने" की अनुमति देने के लिए कहती है.
कुछ स्कोप में दूसरे स्कोप शामिल होते हैं. उदाहरण के लिए, अनुमति मिलने पर स्कोप https://www.googleapis.com/auth/spreadsheets
, स्प्रेडशीट को पढ़ने और उनमें बदलाव करने का ऐक्सेस देता है.
स्कोप देखना
अपने स्क्रिप्ट प्रोजेक्ट के लिए ज़रूरी स्कोप देखने के लिए, ये काम करें:
- स्क्रिप्ट प्रोजेक्ट खोलें.
- बाईं ओर, खास जानकारी पर क्लिक करें.
- प्रोजेक्ट के OAuth दायरे में जाकर, दायरे देखें.
साफ़ तौर पर दायरे सेट करना
Apps Script, स्क्रिप्ट के कोड को स्कैन करके यह अपने-आप तय करता है कि स्क्रिप्ट को कौनसे स्कोप की ज़रूरत है. ऐसा, उन फ़ंक्शन कॉल के लिए किया जाता है जिनमें स्कोप की ज़रूरत होती है. ज़्यादातर स्क्रिप्ट के लिए, यह तरीका काफ़ी है और इससे आपका समय भी बचता है. हालांकि, पब्लिश किए गए ऐड-ऑन, वेब ऐप्लिकेशन, Google Chat ऐप्लिकेशन, और Google Chat API के कॉल के लिए, आपको स्कोप को सीधे तौर पर कंट्रोल करना होगा.
Apps Script कभी-कभी प्रोजेक्ट को अपने-आप बहुत ज़्यादा अनुमतियां देने वाले स्कोप असाइन कर देता है. इसका मतलब यह हो सकता है कि आपकी स्क्रिप्ट, उपयोगकर्ता से ज़रूरत से ज़्यादा जानकारी मांगती है. यह एक गलत तरीका है. पब्लिश की गई स्क्रिप्ट के लिए, आपको ब्रॉड स्कोप को ज़्यादा सीमित सेट से बदलना होगा. यह सेट, स्क्रिप्ट की ज़रूरतों को पूरा करता है और उससे ज़्यादा नहीं.
स्क्रिप्ट प्रोजेक्ट के manifest फ़ाइल में बदलाव करके, उन स्कोप को साफ़ तौर पर सेट किया जा सकता है जिनका इस्तेमाल प्रोजेक्ट करता है. मेनिफ़ेस्ट फ़ील्ड
oauthScopes
, प्रोजेक्ट के इस्तेमाल किए गए सभी स्कोप का कलेक्शन होता है. अपने प्रोजेक्ट के दायरे सेट करने के लिए, यह तरीका अपनाएं:
- स्क्रिप्ट प्रोजेक्ट खोलें.
- बाईं ओर, प्रोजेक्ट सेटिंग पर क्लिक करें.
- एडिटर में "appsscript.json" मेनिफ़ेस्ट फ़ाइल दिखाएं चेकबॉक्स को चुनें.
- बाईं ओर, एडिटर पर क्लिक करें.
- बाईं ओर,
appsscript.json
फ़ाइल पर क्लिक करें. oauthScopes
लेबल वाले टॉप लेवल फ़ील्ड का पता लगाएं. अगर यह मौजूद नहीं है, तो इसे जोड़ा जा सकता है.oauthScopes
फ़ील्ड, स्ट्रिंग का अरे तय करता है. अपने प्रोजेक्ट के लिए इस्तेमाल किए जाने वाले स्कोप सेट करने के लिए, इस कलेक्शन के कॉन्टेंट को उन स्कोप से बदलें जिनका आपको इस्तेमाल करना है. उदाहरण के लिए:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- सबसे ऊपर, सेव करें पर क्लिक करें.
OAuth की मदद से पुष्टि करना
OAuth के कुछ दायरे संवेदनशील होते हैं, क्योंकि इनसे Google उपयोगकर्ता के डेटा को ऐक्सेस करने की अनुमति मिलती है. अगर आपके स्क्रिप्ट प्रोजेक्ट में ऐसे स्कोप का इस्तेमाल किया जाता है जिनसे उपयोगकर्ता के डेटा को ऐक्सेस किया जा सकता है, तो उसे वेब ऐप्लिकेशन या ऐड-ऑन के तौर पर सार्वजनिक तौर पर पब्लिश करने से पहले, OAuth क्लाइंट की पुष्टि करनी होगी. ज़्यादा जानकारी के लिए, ये गाइड देखें:
- Apps Script के लिए OAuth क्लाइंट की पुष्टि करना
- ऐसे ऐप्लिकेशन जिनकी पुष्टि नहीं की गई है
- OAuth की पुष्टि से जुड़े अक्सर पूछे जाने वाले सवाल
- Google API सेवा: उपयोगकर्ता के डेटा की नीति
पाबंदी वाले स्कोप
संवेदनशील स्कोप के अलावा, कुछ स्कोप को प्रतिबंधित के तौर पर बांटा जाता है. साथ ही, इन पर ऐसे अन्य नियम लागू होते हैं जिनसे उपयोगकर्ता के डेटा को सुरक्षित रखने में मदद मिलती है. अगर आपको ऐसा वेब ऐप्लिकेशन या ऐड-ऑन पब्लिश करना है जो पाबंदी वाले एक या उससे ज़्यादा स्कोप का इस्तेमाल करता है, तो पब्लिश करने से पहले ऐप्लिकेशन को बताई गई सभी पाबंदियों का पालन करना होगा.
पब्लिश करने से पहले, पाबंदी वाले दायरों की पूरी सूची देखें. अगर आपका ऐप्लिकेशन इनमें से किसी का इस्तेमाल करता है, तो आपको पब्लिश करने से पहले, खास एपीआई स्कोप के लिए ज़रूरी शर्तों का पालन करना होगा.