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

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

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

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

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

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

Drive के इंटरफ़ेस को बढ़ाने के लिए, यह सामान्य तरीका अपनाएं:

  1. तय करें कि आपको अपने ऐड-ऑन के लिए, Drive के हिसाब से कोई खास होम पेज चाहिए या नहीं. यह भी तय करें कि आपको Drive के आइटम चुनने पर, उपयोगकर्ताओं को कॉन्टेक्चुअल इंटरफ़ेस उपलब्ध कराना है या नहीं.
  2. ऐड-ऑन के स्क्रिप्ट प्रोजेक्ट मेनिफ़ेस्ट में, सही addOns.common और addOns.drive फ़ील्ड जोड़ें. इनमें Drive की ज़रूरी अनुमतियां भी शामिल करें.
  3. अगर आपको Drive के हिसाब से कोई खास होम पेजउपलब्ध कराना है, तो इस इंटरफ़ेस को बनाने के लिए, drive.homepageTrigger फ़ंक्शन लागू करें. आपके पास, Google Workspace के कई होस्ट के लिए, common.homepageTrigger इंटरफ़ेस का इस्तेमाल करने का विकल्प भी होता है.
  4. अगर आपको Drive के कॉन्टेक्चुअल आइटम चुनने का इंटरफ़ेस उपलब्ध कराना है, तो इस इंटरफ़ेस को बनाने के लिए, आपको drive.onItemsSelectedTrigger कॉन्टेक्चुअल ट्रिगर फ़ंक्शन लागू करना होगा. ज़्यादा जानकारी के लिए, चुने गए आइटम के लिए Drive का कॉन्टेक्चुअल इंटरफ़ेस देखें.
  5. यूज़र इंटरफ़ेस (यूआई) पर उपयोगकर्ता के इंटरैक्शन, जैसे कि बटन पर क्लिक करने की कार्रवाई का जवाब देने के लिए, उससे जुड़े कॉलबैक फ़ंक्शन लागू करें.

Drive के होम पेज

Drive में, ऐड-ऑन के होम पेज दिखाए जा सकते हैं. Drive में, अपने ऐड-ऑन का सामान्य होम पेज दिखाने के लिए, पक्का करें कि ऐड-ऑन के मेनिफ़ेस्ट में addOns.drive फ़ील्ड मौजूद हो.

इसके अलावा, Drive के हिसाब से कोई खास होम पेज उपलब्ध कराने के लिए, ऐड-ऑन के मेनिफ़ेस्ट में drive.homepageTrigger जोड़ें.

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

चुने गए आइटम के लिए Drive का कॉन्टेक्चुअल इंटरफ़ेस

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

Drive के लिए, कॉन्टेक्चुअल आइटम चुनने का इंटरफ़ेस बनाने के लिए, आपको यह काम करना होगा:

  1. पक्का करें कि ऐड-ऑन के मेनिफ़ेस्ट में, https://www.googleapis.com/auth/drive.addons.metadata.readonly अनुमति शामिल हो.

  2. पक्का करें कि मेनिफ़ेस्ट में, a drive.onItemsSelectedTrigger सेक्शन शामिल हो.

  3. drive.onItemsSelectedTrigger फ़ील्ड में दिए गए नाम वाला फ़ंक्शन लागू करें. यह फ़ंक्शन, आर्ग्युमेंट के तौर पर एक इवेंट ऑब्जेक्ट स्वीकार करता है. साथ ही, इसे एक Card ऑब्जेक्ट या Card ऑब्जेक्ट का कलेक्शन लौटाना होगा.

  4. किसी भी कार्ड की तरह, इंटरफ़ेस के लिए विजेट इंटरैक्टिविटी उपलब्ध कराने के लिए इस्तेमाल किए जाने वाले सभी कॉलबैक फ़ंक्शन लागू करें. उदाहरण के लिए, अगर आपने इंटरफ़ेस में कोई बटन शामिल किया है, तो उसमें कोई अटैच किया गया ऐक्शन होना चाहिए. साथ ही, एक ऐसा लागू किया गया कॉलबैक फ़ंक्शन होना चाहिए जो बटन पर क्लिक करने पर काम करे.

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

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

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

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

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

जब किसी ऐड-ऑन का व्यवहार, चुने गए सिर्फ़ एक आइटम पर लागू होना चाहिए, तो चुने गए सभी आइटम में से उस आइटम की पहचान करने के लिए, इवेंट ऑब्जेक्ट के drive.activeCursorItem फ़ील्ड में दी गई जानकारी का इस्तेमाल करें. `drive.selectedItems` कलेक्शन drive.selectedItems से यह अनुमान लगाने की कोशिश न करें कि कौनसा आइटम इस्तेमाल करना है.

यहां दिए गए उदाहरण में, Drive का एक इवेंट ऑब्जेक्ट दिखाया गया है. इसे drive.onItemsSelectedTrigger फ़ंक्शन को पास किया जाता है:

{
  "commonEventObject": { ... },
  "drive": {
    "activeCursorItem":{
      "addonHasFileScopePermission": true,
      "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
      "iconUrl": "https://drive-thirdparty.googleusercontent.com...",
      "mimeType":"application/pdf",
      "title":"How to get started with Drive"
    },
    "selectedItems": [
      {
        "addonHasFileScopePermission": true,
        "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
        "iconUrl":"https://drive-thirdparty.googleusercontent.com...",
        "mimeType":"application/pdf",
        "title":"How to get started with Drive"
      },
      ...
    ]
  },
  ...
}