Google Editor इंटरफ़ेस बनाना

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

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

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

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. अगर किसी तीसरे पक्ष की सेवा से, लिंक की झलक कॉन्फ़िगर की जा रही है, तो https://www.googleapis.com/auth/workspace.linkpreview के स्कोप के ऑथराइज़ेशन फ़्लो और linkPreviewTriggers फ़ंक्शन को लागू करें. ज़्यादा जानकारी के लिए, झलक के इंटरफ़ेस लिंक करें देखें.
  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 इंटरफ़ेस

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

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

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

किसी एक एडिटर के लिए REST API इंटरफ़ेस बनाने के लिए, नीचे दिया गया तरीका अपनाएं. EDITOR_NAME को उस Editor होस्ट ऐप्लिकेशन से बदलें जिसे आपने इस्तेमाल करने के लिए चुना है, जैसे, 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 फ़ील्ड शामिल होता है. अगर ऐड-ऑन के पास अनुमति है, तो इवेंट ऑब्जेक्ट में सभी Editor इवेंट ऑब्जेक्ट फ़ील्ड शामिल होते हैं.

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

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