एडिटर ऐड-ऑन को अनुमति देने के दायरे

उपयोगकर्ताओं को ऐड-ऑन और अन्य ऐप्लिकेशन को अनुमति देनी होगी, जो उनका डेटा ऐक्सेस करते हैं या उनकी ओर से काम करते हैं. जब कोई उपयोगकर्ता पहली बार किसी ऐड-ऑन को चलाता है, तब ऐड-ऑन यूज़र इंटरफ़ेस (यूआई), ऑथराइज़ेशन फ़्लो शुरू करने के लिए अनुमति देने का अनुरोध दिखाता है.

फ़्लो के दौरान, प्रॉम्प्ट उपयोगकर्ता को बताता है कि ऐप्लिकेशन उसे क्या करने की अनुमति चाहिए. उदाहरण के लिए, हो सकता है कि ऐड-ऑन को उपयोगकर्ता का ईमेल मैसेज पढ़ने या उसके कैलेंडर में इवेंट बनाने की अनुमति चाहिए. ऐड-ऑन का स्क्रिप्ट प्रोजेक्ट, इन अलग-अलग अनुमतियों के बारे में OAuth के दायरे के तौर पर बताता है.

यूआरएल स्ट्रिंग का इस्तेमाल करके, अपने मेनिफ़ेस्ट में स्कोप की जानकारी दी जाती है. अनुमति देने के दौरान, Apps Script की मदद से उपयोगकर्ता को उस जानकारी के बारे में ऐसी जानकारी दी जाती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. उदाहरण के लिए, आपका ऐड-ऑन "मौजूदा दस्तावेज़ पढ़ें" दायरे का इस्तेमाल कर सकता है, जिसे आपके मेनिफ़ेस्ट में https://www.googleapis.com/auth/documents.currentonly के रूप में लिखा गया है. अनुमति देने की प्रोसेस के दौरान, इस दायरे वाला ऐड-ऑन, उपयोगकर्ता से यह अनुमति मांगता है: जिन दस्तावेज़ों में इस ऐप्लिकेशन को इंस्टॉल किया गया है उन्हें देखना और मैनेज करना.

दायरे देखना

अपने स्क्रिप्ट प्रोजेक्ट के लिए ज़रूरी दायरे को देखने के लिए, यहां दिया गया तरीका अपनाएं:

  1. स्क्रिप्ट प्रोजेक्ट खोलें.
  2. बाईं ओर, खास जानकारी पर क्लिक करें.
  3. "प्रोजेक्ट OAuth स्कोप" में स्कोप देखें.

आपके पास oauthScopes फ़ील्ड में जाकर, प्रोजेक्ट मेनिफ़ेस्ट में स्क्रिप्ट प्रोजेक्ट के मौजूदा स्कोप देखने का विकल्प भी है. हालांकि, ऐसा तभी किया जा सकता है, जब आपने उन स्कोप को साफ़ तौर पर सेट किया हो.

अश्लील दायरे सेट करना

Apps Script की मदद से, स्क्रिप्ट के लिए ज़रूरी फ़ंक्शन कॉल के लिए, उसके कोड को स्कैन करके यह अपने-आप पता लगाया जाता है कि कौनसी स्कोप वाली स्क्रिप्ट की ज़रूरत है. ज़्यादातर स्क्रिप्ट के लिए, यह काफ़ी होता है और इससे आपका समय बचता है. हालांकि, पब्लिश किए गए ऐड-ऑन के लिए, आपको दायरों पर ज़्यादा सीधा कंट्रोल करना चाहिए.

उदाहरण के लिए, Apps Script किसी ऐड-ऑन स्क्रिप्ट प्रोजेक्ट को डिफ़ॉल्ट रूप से, अनुमति वाला स्कोप https://mail.google.com दे सकता है. जब कोई उपयोगकर्ता इस स्कोप वाले किसी स्क्रिप्ट प्रोजेक्ट को अनुमति देता है, तो उस प्रोजेक्ट को उपयोगकर्ता के Gmail खाते का पूरा ऐक्सेस मिल जाता है. पब्लिश किए गए ऐड-ऑन के लिए, आपको इस दायरे को ज़्यादा सीमित सेट से बदलना ज़रूरी है. इससे ऐड-ऑन की ज़रूरतें पूरी होती हैं और कोई बात नहीं.

आपके स्क्रिप्ट प्रोजेक्ट में इस्तेमाल होने वाले दायरे सेट करने के लिए, मेनिफ़ेस्ट फ़ाइल में बदलाव करें. मेनिफ़ेस्ट फ़ील्ड oauthScopes, ऐड-ऑन में इस्तेमाल किए जाने वाले सभी स्कोप का ऐरे है. अपने प्रोजेक्ट के दायरे सेट करने के लिए, ये काम करें:

  1. आपके ऐड-ऑन फ़िलहाल जिन दायरों का इस्तेमाल कर रहे हैं उन्हें देखें. तय करें कि क्या बदलाव करने हैं, जैसे कि छोटा स्कोप इस्तेमाल करना.
  2. अपने ऐड-ऑन की मेनिफ़ेस्ट फ़ाइल खोलें.
  3. oauthScopes लेबल वाले टॉप-लेवल फ़ील्ड को खोजें. अगर यह मौजूद नहीं है, तो इसे जोड़ें.
  4. oauthScopes फ़ील्ड, स्ट्रिंग का ऐरे तय करता है. आपका प्रोजेक्ट जिन स्कोप का इस्तेमाल करता है उन्हें सेट करने के लिए, इस ऐरे के कॉन्टेंट को उन स्कोप से बदलें जिनका इस्तेमाल आपको करना है. जैसे, Sheets के एक्सटेंशन वाले एडिटर ऐड-ऑन के लिए आपके पास ये चीज़ें हो सकती हैं:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/script.container.ui",
        "https://www.googleapis.com/auth/spreadsheets.currentonly"
      ],
      ...
    }
    

  5. मेनिफ़ेस्ट फ़ाइल में किए गए बदलावों को सेव करें.

OAuth की पुष्टि करना

कुछ संवेदनशील OAuth दायरों का इस्तेमाल करने के लिए, यह ज़रूरी हो सकता है कि आपके ऐड-ऑन को पब्लिश करने से पहले, OAuth क्लाइंट की पुष्टि की जाए. ज़्यादा जानकारी के लिए, ये गाइड देखें:

पाबंदी वाले दायरे

कुछ दायरे प्रतिबंधित होते हैं. इन पर ऐसे अतिरिक्त नियम लागू होते हैं जो उपयोगकर्ता के डेटा को सुरक्षित रखने में मदद करते हैं. अगर आपको कोई ऐसा Gmail या Editor ऐड-ऑन पब्लिश करना है जो एक या उससे ज़्यादा पाबंदी वाले दायरों का इस्तेमाल करता है, तो ऐड-ऑन को पब्लिश करने से पहले सभी पाबंदियों का पालन करना होगा.

पब्लिश करने से पहले, पाबंदी वाले स्कोप की पूरी सूची पढ़ें. अगर आपका ऐड-ऑन इनमें से किसी का भी इस्तेमाल करता है, तो पब्लिश करने से पहले आपको एपीआई के खास दायरों के लिए अन्य ज़रूरी शर्तों का पालन करना होगा.

एडिटर ऐड-ऑन के दायरे

जब कोई एडिटर ऐड-ऑन बनाया जाता है, तो ज़रूरी दायरे, Apps Script सेवा और ऐड-ऑन कोड के इस्तेमाल के तरीकों से तय किए जाते हैं. उदाहरण के लिए, अलग-अलग Google Sheets से जानकारी पढ़ने के लिए, Sheets के ऐड-ऑन को https://www.googleapis.com/auth/spreadsheets.readonly स्कोप की ज़रूरत हो सकती है.

Apps Script की मदद से, स्क्रिप्ट प्रोजेक्ट में कोड जोड़ने पर इस्तेमाल की जाने वाली सेवाओं के लिए, स्कोप अपने-आप तय कर लिया जाता है. एडिटर ऐड-ऑन के लिए, स्कोप तय करने और खास तौर पर उन्हें सेट करने के बजाय, अक्सर अपने-आप लागू होने वाले स्कोप वाले इस कलेक्शन पर भरोसा किया जा सकता है.

अगर आपने साफ़ तौर पर अपने स्कोप सेट नहीं किए हैं और आपका एडिटर ऐड-ऑन, ओपन एडिटर फ़ाइल को सिर्फ़ पढ़ता या लिखता है, तो अपनी स्क्रिप्ट प्रोजेक्ट फ़ाइल में यह टिप्पणी जोड़ें:

  /**
   * @OnlyCurrentDoc
   */

इस टिप्पणी से Apps Script को पता चलता है कि एडिटर फ़ाइल के लिए, सेट किए गए स्कोप को currentonly पर सेट करना है या नहीं. उदाहरण के लिए, अगर इस टिप्पणी को किसी Google Sheets ऐड-ऑन स्क्रिप्ट प्रोजेक्ट फ़ाइल में जोड़ा जाता है, तो इसका मतलब है कि ऐड-ऑन को सिर्फ़ मौजूदा खुली शीट पर ऑपरेट करने की अनुमति चाहिए. उसके बजाय, अन्य किसी शीट को उपयोगकर्ता के Google Drive में नहीं होना चाहिए. इसके उलट, अगर आपके Sheets के ऐड-ऑन को उस शीट में डेटा पढ़ने या लिखने की ज़रूरत है जिसे उपयोगकर्ता ने अभी नहीं खोला है, तो आपको इस टिप्पणी का इस्तेमाल नहीं करना चाहिए.