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

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

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

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

  • अगर कोई उपयोगकर्ता Drive में ऐड-ऑन आइकॉन पर क्लिक करता है, तो ऐड-ऑन, उससे जुड़े drive.homepageTrigger फ़ंक्शन को लागू करता है. हालांकि, ऐसा तब होता है, जब वह फ़ंक्शन मौजूद हो. यह फ़ंक्शन, Drive for display के लिए होम पेज कार्ड बनाता है और उसे दिखाता है. अगर कोई 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.homepageTrigger जोड़कर, Drive के लिए खास होम पेज उपलब्ध कराएं.

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

चुने गए आइटम के लिए, कॉन्टेक्स्ट के हिसाब से इंटरफ़ेस उपलब्ध कराना

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

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

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

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

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

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

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

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

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

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

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

जब किसी ऐड-ऑन का व्यवहार सिर्फ़ चुने गए किसी एक आइटम पर लागू होना चाहिए, तब इवेंट ऑब्जेक्ट के drive.activeCursorItem फ़ील्ड में दी गई जानकारी का इस्तेमाल करके, चुने गए सभी आइटम में से उस आइटम की पहचान करें. 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"
      },
      ...
    ]
  },
  ...
}