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

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

इस प्रोसेस के दौरान, प्रॉम्प्ट में उपयोगकर्ता को बताया जाता है कि ऐप्लिकेशन को किस काम के लिए अनुमति चाहिए. उदाहरण के लिए, किसी ऐड-ऑन को उपयोगकर्ता के ईमेल मैसेज को पढ़ने या उसके कैलेंडर में इवेंट बनाने की अनुमति चाहिए. ऐड-ऑन का स्क्रिप्ट प्रोजेक्ट, इन अलग-अलग अनुमतियों को 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"
      ],
      ...
    }
    

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

OAuth की पुष्टि

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

पाबंदी वाले स्कोप

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

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

Visual Studio Code के लिए Google Workspace Developer Tools एक्सटेंशन, सभी स्कोप के लिए डाइग्नोस्टिक जानकारी देता है. इसमें स्कोप का ब्यौरा और यह जानकारी शामिल होती है कि यह संवेदनशील है या इस पर पाबंदी लगी है.

एडिटर ऐड-ऑन के स्कोप

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

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

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

  /**
   * @OnlyCurrentDoc
   */

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