Google एडिटर इंटरफ़ेस बनाना

Google Workspace ऐड-ऑन की मदद से, एडिटर में पसंद के मुताबिक इंटरफ़ेस उपलब्ध कराए जा सकते हैं. इनमें Google Docs, Google Sheets, और Google Slides शामिल हैं. इससे, उपयोगकर्ता को काम की जानकारी दी जा सकती है, टास्क ऑटोमेट किए जा सकते हैं, और तीसरे पक्ष के सिस्टम को एडिटर से कनेक्ट किया जा सकता है.

ऐड-ऑन के यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करना

अगर Docs, Sheets, और Slides के यूज़र इंटरफ़ेस में, Google Workspace के क्विक ऐक्सेस साइड पैनल में Google Workspace ऐड-ऑन का आइकॉन दिखता है, तो उसे एडिटर में खोला जा सकता है.

Google Workspace ऐड-ऑन, ये इंटरफ़ेस दिखा सकता है:

  • होम पेज इंटरफ़ेस: अगर ऐड-ऑन के मेनिफ़ेस्ट में, उस एडिटर के लिए EDITOR_NAME.homepageTrigger ट्रिगर शामिल है जिसमें उपयोगकर्ता ऐड-ऑन खोलता है, तो ऐड-ऑन खास तौर पर उस एडिटर के लिए होम पेज कार्ड बनाता है और दिखाता है. अगर ऐड-ऑन के मेनिफ़ेस्ट में, उस एडिटर के लिए EDITOR_NAME.homepageTrigger शामिल नहीं है जिसमें उपयोगकर्ता ऐड-ऑन खोलता है, तो इसके बजाय सामान्य होम पेज कार्ड दिखता है.

  • REST API इंटरफ़ेस: अगर ऐड-ऑन, REST API का इस्तेमाल करता है, तो ऐसे ट्रिगर शामिल किए जा सकते हैं जो किसी दस्तावेज़ के लिए फ़ाइल के हिसाब से ऐक्सेस का अनुरोध करने के लिए drive.file स्कोप का इस्तेमाल करते हैं. अनुमति मिलने के बाद, एक और ट्रिगर काम करता है जिसे EDITOR_NAME.onFileScopeGrantedTrigger कहा जाता है और फ़ाइल के हिसाब से इंटरफ़ेस दिखाता है.

  • लिंक की झलक दिखाने वाले इंटरफ़ेस: अगर आपका ऐड-ऑन, तीसरे पक्ष की किसी सेवा के साथ इंटिग्रेट होता है, तो ऐसे कार्ड बनाए जा सकते हैं जो आपकी सेवा के यूआरएल से कॉन्टेंट की झलक दिखाते हैं.

एडिटर ऐड-ऑन के लिए इंटरफ़ेस बनाना

एडिटर ऐड-ऑन के लिए इंटरफ़ेस बनाने के लिए, यह तरीका अपनाएं:

  1. ऐड-ऑन स्क्रिप्ट प्रोजेक्ट के मेनिफ़ेस्टमें, addOns.common, addOns.docs, addOns.sheets, और addOns.slides के सही फ़ील्ड जोड़ें.
  2. अपनी स्क्रिप्ट प्रोजेक्ट के मेनिफ़ेस्ट में, एडिटर के लिए ज़रूरी स्कोप जोड़ें.
  3. अगर एडिटर के हिसाब से कोई होम पेज उपलब्ध कराया जा रहा है, तो इंटरफ़ेस बनाने के लिए, EDITOR_NAME.homepageTrigger फ़ंक्शन लागू करें. अगर ऐसा नहीं है, तो अपने होस्ट ऐप्लिकेशन के लिए सामान्य होम पेज बनाने के लिए, common.homepageTrigger इंटरफ़ेस का इस्तेमाल करें.
  4. अगर REST API का इस्तेमाल किया जाता है, तो खुली हुई फ़ाइल के हिसाब से इंटरफ़ेस दिखाने के लिए, drive.file स्कोप ऑथराइज़ेशन फ़्लो और EDITOR_NAME.onFileScopeGrantedTrigger ट्रिगर फ़ंक्शन लागू करें. ज़्यादा जानकारी के लिए, REST API इंटरफ़ेस देखें.
  5. अगर तीसरे पक्ष की किसी सेवा से लिंक की झलक दिखाने की सुविधा कॉन्फ़िगर की जा रही है, तो लागू करें स्कोप ऑथराइज़ेशन फ़्लो और linkPreviewTriggers फ़ंक्शन.https://www.googleapis.com/auth/workspace.linkpreview ज़्यादा जानकारी के लिए, लिंक की झलक दिखाने वाले इंटरफ़ेस देखें.
  6. यूज़र इंटरफ़ेस (यूआई) के साथ उपयोगकर्ता के इंटरैक्शन का जवाब देने के लिए, उनसे जुड़े कॉलबैक फ़ंक्शन लागू करें. जैसे, बटन पर क्लिक करना.

एडिटर के होम पेज

आपको अपने ऐड-ऑन के स्क्रिप्ट प्रोजेक्ट में, होम पेज ट्रिगर फ़ंक्शन उपलब्ध कराना होगा. यह फ़ंक्शन, ऐड-ऑन का होम पेज बनाने के लिए, एक Card या ऑब्जेक्ट का अरे दिखाता है.Card

होम पेज ट्रिगर फ़ंक्शन को पैरामीटर के तौर पर एक इवेंट ऑब्जेक्ट पास किया जाता है. इसमें क्लाइंट के प्लैटफ़ॉर्म जैसी जानकारी शामिल होती है. होम पेज को अपनी ज़रूरत के हिसाब से बनाने के लिए, इवेंट ऑब्जेक्ट के डेटा का इस्तेमाल किया जा सकता है.

सामान्य होम पेज या ऐसा होम पेज दिखाया जा सकता है जो उस एडिटर के हिसाब से हो जिसमें उपयोगकर्ता आपका ऐड-ऑन खोलता है.

सामान्य होम पेज दिखाना

एडिटर में अपने ऐड-ऑन का सामान्य होम पेज दिखाने के लिए, ऐड-ऑन के मेनिफ़ेस्ट में एडिटर के सही फ़ील्ड शामिल करें. जैसे, addOns.docs, addOns.sheets या addOns.slides.

यहां दिए गए उदाहरण में, Google Workspace ऐड-ऑन के मेनिफ़ेस्ट का addons हिस्सा दिखाया गया है. यह ऐड-ऑन, Docs, Sheets, और Slides के साथ काम करता है. साथ ही, हर होस्ट ऐप्लिकेशन में सामान्य होम पेज दिखाता है.

{
 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "sheets": {},
    "slides": {}
  }
}

एडिटर के हिसाब से होम पेज दिखाना

किसी एडिटर के हिसाब से होम पेज दिखाने के लिए, ऐड-ऑन के मेनिफ़ेस्ट में EDITOR_NAME.homepageTrigger जोड़ें.

यहां दिए गए उदाहरण में, Google Workspace ऐड-ऑन के मेनिफ़ेस्ट का addons हिस्सा दिखाया गया है. यह ऐड-ऑन, Docs, Sheets, और Slides के लिए चालू है. यह Docs और Slides में सामान्य होम पेज दिखाता है. वहीं, Sheets में अलग होम पेज दिखाता है. onSheetsHomepage कॉलबैक फ़ंक्शन, Sheets के हिसाब से होम पेज कार्ड बनाता है.

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "slides": {},
    "sheets": {
     "homepageTrigger": {
       "runFunction": "onSheetsHomepage"
     },
  }
}

REST API इंटरफ़ेस

अगर आपका ऐड-ऑन, REST API का इस्तेमाल करता है, जैसे कि Google Sheets API, तो onFileScopeGrantedTrigger फ़ंक्शन का इस्तेमाल करके, एडिटर होस्ट ऐप्लिकेशन में खुली हुई फ़ाइल के हिसाब से नया इंटरफ़ेस दिखाया जा सकता है.

onFileScopeGrantedTrigger फ़ंक्शन का इस्तेमाल करने के लिए, drive.file स्कोप ऑथराइज़ेशन फ़्लो शामिल करना ज़रूरी है. drive.file स्कोप का अनुरोध करने का तरीका जानने के लिए, मौजूदा दस्तावेज़ के लिए फ़ाइल का ऐक्सेस पाने का अनुरोध करना लेख पढ़ें.

जब कोई उपयोगकर्ता drive.file स्कोप की अनुमति देता है, तो EDITOR_NAME.onFileScopeGrantedTrigger.runFunction ट्रिगर होता है. ट्रिगर होने पर, यह ऐड-ऑन मेनिफ़ेस्ट में EDITOR_NAME.onFileScopeGrantedTrigger.runFunction फ़ील्ड में तय किए गए कॉन्टेक्चुअल ट्रिगर फ़ंक्शन को लागू करता है.

किसी एक एडिटर के लिए REST API इंटरफ़ेस बनाने के लिए, यह तरीका अपनाएं. EDITOR_NAME को उस एडिटर होस्ट ऐप्लिकेशन से बदलें जिसका इस्तेमाल करना है. उदाहरण के लिए, sheets.onFileScopeGrantedTrigger:

  1. अपने मेनिफ़ेस्ट के एडिटर के सही सेक्शन में, EDITOR_NAME.onFileScopeGrantedTrigger शामिल करें. उदाहरण के लिए, अगर आपको Google Sheets में यह इंटरफ़ेस बनाना है, तो "sheets" सेक्शन में ट्रिगर जोड़ें.
  2. EDITOR_NAME.onFileScopeGrantedTrigger सेक्शन में दिए गए नाम वाला फ़ंक्शन लागू करें. यह फ़ंक्शन, इवेंट ऑब्जेक्ट को आर्ग्युमेंट के तौर पर स्वीकार करता है. साथ ही, इसे एक Card ऑब्जेक्ट या ऑब्जेक्ट का अरे दिखाना होगा.Card
  3. किसी भी कार्ड की तरह, आपको इंटरफ़ेस के लिए विजेट इंटरैक्टिविटी उपलब्ध कराने के लिए इस्तेमाल किए जाने वाले कॉलबैक फ़ंक्शन लागू करने होंगे. उदाहरण के लिए, अगर इंटरफ़ेस में कोई बटन शामिल किया जाता है, तो उसमें कोई ऐक्शन अटैच होना चाहिए. साथ ही, कोई कॉलबैक फ़ंक्शन लागू होना चाहिए, जो बटन पर क्लिक करने पर काम करे.

यहां दिए गए उदाहरण में, Google Workspace ऐड-ऑन के मेनिफ़ेस्ट का addons हिस्सा दिखाया गया है. यह ऐड-ऑन, REST API का इस्तेमाल करता है. इसलिए, Google Sheets के लिए onFileScopeGrantedTrigger शामिल किया गया है. जब कोई उपयोगकर्ता drive.file स्कोप की अनुमति देता है, तो onFileScopeGrantedSheets कॉलबैक फ़ंक्शन, फ़ाइल के हिसाब से इंटरफ़ेस बनाता है.

{
  "addOns": {
    "common": {
      "name": "Productivity add-on",
      "logoUrl": "https://www.gstatic.com/images/icons/material/system_gm/1x/work_outline_black_18dp.png",
      "layoutProperties": {
        "primaryColor": "#669df6",
        "secondaryColor": "#ee675c"
      }
    },
    "sheets": {
      "homepageTrigger": {
        "runFunction": "onEditorsHomepage"
      },
      "onFileScopeGrantedTrigger": {
        "runFunction": "onFileScopeGrantedSheets"
      }
    }
  }
}

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

लिंक की झलक दिखाने की सुविधा चालू करने के लिए, स्मार्ट चिप की मदद से लिंक की झलक देखना लेख पढ़ें.

इवेंट ऑब्जेक्ट

एक इवेंट ऑब्जेक्ट बनाया जाता है और इसे ट्रिगर फ़ंक्शन में पास किया जाता है. जैसे, EDITOR_NAME.homepageTrigger या EDITOR_NAME.onFileScopeGrantedTrigger. ट्रिगर फ़ंक्शन, इवेंट ऑब्जेक्ट में मौजूद जानकारी का इस्तेमाल करके यह तय करता है कि ऐड-ऑन के कार्ड कैसे बनाए जाएं या ऐड-ऑन के व्यवहार को कैसे कंट्रोल किया जाए.

इवेंट ऑब्जेक्ट के पूरे स्ट्रक्चर के बारे में, इवेंट ऑब्जेक्ट लेख में बताया गया है.

जब कोई एडिटर, ऐड-ऑन का ऐक्टिव होस्ट ऐप्लिकेशन होता है, तो इवेंट ऑब्जेक्ट में Docs, Sheets या Slides इवेंट ऑब्जेक्ट फ़ील्ड शामिल होते हैं. इनमें क्लाइंट की जानकारी होती है.

अगर ऐड-ऑन के पास, मौजूदा उपयोगकर्ता या दस्तावेज़ के लिए drive.file स्कोप की अनुमति नहीं है, तो इवेंट ऑब्जेक्ट में सिर्फ़ docs.addonHasFileScopePermission, sheets.addonHasFileScopePermission या slides.addonHasFileScopePermission फ़ील्ड शामिल होता है. अगर ऐड-ऑन के पास अनुमति है, तो इवेंट ऑब्जेक्ट में एडिटर के सभी इवेंट ऑब्जेक्ट फ़ील्ड शामिल होते हैं.

यहां दिए गए उदाहरण में, एडिटर का इवेंट ऑब्जेक्ट दिखाया गया है. इसे sheets.onFileScopeGrantedTrigger फ़ंक्शन में पास किया जाता है. यहां, ऐड-ऑन के पास मौजूदा दस्तावेज़ के लिए drive.file स्कोप अनुमति है:

{
  "commonEventObject": { ... },
  "sheets": {
    "addonHasFileScopePermission": true,
    "id":"A_24Q3CDA23112312ED52",
    "title":"How to get started with Sheets"
  },
  ...
}