उपयोगकर्ताओं को उन स्क्रिप्ट प्रोजेक्ट को अनुमति देनी होगी जो उनके डेटा को ऐक्सेस करते हैं या उनकी ओर से कार्रवाई करते हैं. जब कोई उपयोगकर्ता पहली बार ऐसी स्क्रिप्ट चलाता है जिसके लिए अनुमति की ज़रूरत होती है, तो यूज़र इंटरफ़ेस (यूआई) अनुमति फ़्लो शुरू करने के लिए एक प्रॉम्प्ट दिखाता है.
इस फ़्लो के दौरान, यूज़र इंटरफ़ेस (यूआई) उपयोगकर्ता को बताता है कि स्क्रिप्ट को क्या करने की अनुमति चाहिए. उदाहरण के लिए, हो सकता है कि स्क्रिप्ट को उपयोगकर्ता के ईमेल मैसेज पढ़ने या उसके कैलेंडर में इवेंट बनाने की अनुमति चाहिए. स्क्रिप्ट प्रोजेक्ट इन अलग-अलग अनुमतियों को 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 कभी-कभी प्रोजेक्ट को अपने-आप बहुत ज़्यादा अनुमतियां देने वाले स्कोप असाइन कर देता है. इसका मतलब यह हो सकता है कि आपकी स्क्रिप्ट, उपयोगकर्ता से ज़रूरत से ज़्यादा जानकारी मांगती है. यह एक गलत तरीका है. पब्लिश की गई स्क्रिप्ट के लिए, आपको ब्रॉड स्कोप को ज़्यादा सीमित सेट से बदलना होगा. यह सेट, स्क्रिप्ट की ज़रूरतों को पूरा करता है और उससे ज़्यादा नहीं.
स्क्रिप्ट प्रोजेक्ट के मेनिफ़ेस्ट फ़ाइल में बदलाव करके, उन स्कोप को साफ़ तौर पर सेट किया जा सकता है जिनका इस्तेमाल प्रोजेक्ट करता है. मेनिफ़ेस्ट फ़ील्ड
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 सेवा: उपयोगकर्ता के डेटा की नीति
पाबंदी वाले दायरे
संवेदनशील दायरों के अलावा, कुछ दायरों को पाबंदी की कैटगरी में रखा जाता है. इन दायरों में ऐसे अतिरिक्त नियम भी लागू होते हैं जो उपयोगकर्ता के डेटा को सुरक्षित रखने में मदद करते हैं. अगर आपको कोई ऐसा वेब ऐप्लिकेशन या ऐड-ऑन पब्लिश करना है जो एक या उससे ज़्यादा पाबंदी वाले दायरों का इस्तेमाल करता है, तो पब्लिश करने से पहले ऐप्लिकेशन को सभी पाबंदियों का पालन करना होगा.
पब्लिश करने से पहले, पाबंदी वाले दायरों की पूरी सूची देखें. अगर आपका ऐप्लिकेशन इनमें से किसी का इस्तेमाल करता है, तो आपको पब्लिश करने से पहले, खास एपीआई स्कोप के लिए ज़रूरी शर्तों का पालन करना होगा.