Google Picker वेब कॉम्पोनेंट का इस्तेमाल करना

Google Picker वेब कॉम्पोनेंट, Google Picker API को अपने वेब ऐप्लिकेशन में इंटिग्रेट करने का एक और तरीका है.

वेब कॉम्पोनेंट की मदद से, Google Drive में मौजूद फ़ाइलों को अपने वेब ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकता है. यह एपीआई लोड करने और पुष्टि करने की पूरी लॉजिक को एक एचटीएमएल एलिमेंट में रैप करता है. इससे, gapi लोड करने का लॉजिक लिखे बिना, सीधे अपने कोड में <drive-picker> टैग जोड़ा जा सकता है. इसका इस्तेमाल, सामान्य एचटीएमएल और JavaScript में किया जा सकता है. साथ ही, यह फ़्रेमवर्क के हिसाब से काम करता है. यह Svelte, Vue, Angular वगैरह के साथ आसानी से काम करता है.

वेब कॉम्पोनेंट लाइब्रेरी के बारे में ज़्यादा जानने के लिए, देखें @googleworkspace/drive-picker-element.

React ऐप्लिकेशन के लिए, वेब कॉम्पोनेंट के आधिकारिक React रैपर पैकेज: @googleworkspace/drive-picker-react का इस्तेमाल करें.

मुख्य सुविधाएं

  • आसान इंटिग्रेशन: कोड की कुछ लाइनें जोड़कर, Google Picker को अपने वेब ऐप्लिकेशन में शामिल करें.
  • फ़्रेमवर्क से अलग: यह आपके चुने गए किसी भी वेब फ़्रेमवर्क (React, Vue, Angular वगैरह) के साथ आसानी से काम करता है.
  • ओपन सोर्स और पसंद के मुताबिक बनाया जा सकता है: कोड मुफ़्त में उपलब्ध है. इसे अपनी ज़रूरतों के हिसाब से बदला जा सकता है.
  • OAuth की सुविधा आसानी से उपलब्ध: यह उपयोगकर्ता की पुष्टि की प्रोसेस को अपने-आप मैनेज करता है. इससे उपयोगकर्ता को बेहतर अनुभव मिलता है.
  • पसंद के मुताबिक व्यू: एट्रिब्यूट सेट करके, Google Picker को कॉन्फ़िगर करें, ताकि सिर्फ़ वे फ़ाइल टाइप या व्यू दिखें जिनकी आपको ज़रूरत है.

शुरू करें

  1. NPM या इसी तरह के किसी टूल का इस्तेमाल करके कॉम्पोनेंट इंस्टॉल करें:

    npm i @googleworkspace/drive-picker-element

    सीडीएन वर्शन भी उपलब्ध है. उपलब्ध फ़ॉर्मैट और वर्शन देखने के लिए, unpkg देखें.

    <script src="https://unpkg.com/@googleworkspace/drive-picker-element@latest/dist/index.iife.min.js"></script>
    
  2. @googleworkspace/drive-picker-element कॉम्पोनेंट को अपनी JavaScript फ़ाइल में इंपोर्ट करें:

    import "@googleworkspace/drive-picker-element";
    

    अगर सीडीएन वर्शन का इस्तेमाल किया जा रहा है, तो इंपोर्ट करने की ज़रूरत नहीं है. ऐसा इसलिए, क्योंकि यह Google Picker लाइब्रेरी और पुष्टि के लिए इस्तेमाल की जाने वाली Google API क्लाइंट लाइब्रेरी को अपने-आप लोड कर देता है.

  3. कस्टम एलिमेंट को अपनी एचटीएमएल फ़ाइल में जोड़ें:

    <drive-picker>
        <drive-picker-docs-view></drive-picker-docs-view>
    </drive-picker>
    

    <drive-picker/> और <drive-picker-docs-view/> एट्रिब्यूट और प्रॉपर्टी के बारे में जानने के लिए, @googleworkspace/drive-picker-element के रेफ़रंस दस्तावेज़ देखें.

इवेंट

<drive-picker/> एलिमेंट, ये कस्टम इवेंट भेजता है:

इवेंट ब्यौरा
picker-picked यह तब ट्रिगर होता है, जब उपयोगकर्ता एक या उससे ज़्यादा आइटम चुनता है.
picker-canceled यह तब ट्रिगर होता है, जब उपयोगकर्ता 'रद्द करें' बटन पर क्लिक करके या बिना कुछ चुने डायलॉग बंद करके, चुनाव रद्द करता है.
picker-error यह तब ट्रिगर होता है, जब शुरू करने या फ़ाइल चुनने के दौरान कोई गड़बड़ी होती है.

इवेंट के बारे में ज़्यादा जानने के लिए, एनपीएम पर @googleworkspace/drive-picker-element का दस्तावेज़ देखें.

इवेंट की जानकारी

picker-picked इवेंट के लिए, इवेंट की जानकारी में Google Picker का पूरा Google Picker ResponseObject शामिल होता है.

{
  "type": "picker-picked",
  "detail": {
    "action": "PICKED",
    "docs": [
      {
        "id": ID,
        "mimeType": "application/pdf",
        "name": NAME,
        "url": "https://drive.google.com/file/d/ID/view?usp=drive_web",
        "sizeBytes": 12345
      }
    ]
  }
}

जवाब के ऑब्जेक्ट में सबसे ज़्यादा इस्तेमाल की जाने वाली प्रॉपर्टी ये हैं:

  • action: वह कार्रवाई जिससे कॉलबैक ट्रिगर हुआ (उदाहरण के लिए, PICKED).
  • docs: उपयोगकर्ता द्वारा चुने गए DocumentObject का कलेक्शन. हर ऑब्जेक्ट में ये प्रॉपर्टी शामिल होती हैं:
    • id: चुने गए आइटम का यूनीक आइडेंटिफ़ायर.
    • mimeType: आइटम का एमआईएमई टाइप.
    • name: आइटम का नाम.
    • url: Drive में आइटम खोलने का यूआरएल.
    • sizeBytes: चुने गए आइटम का साइज़ बाइट में. जब कोई आइटम अपलोड किया जाता है, तो वैल्यू नहीं दिखती.

picker-error इवेंट के लिए, event.detail में गड़बड़ी का ऑब्जेक्ट या गड़बड़ी की जानकारी देने वाली स्ट्रिंग शामिल होती है. उदाहरण के लिए, ERR_USER_NOT_AUTHENTICATED.

उदाहरण

यहां दिए गए कोड के सैंपल में, इस्तेमाल के सामान्य उदाहरणों के लिए Google Picker वेब कॉम्पोनेंट का इस्तेमाल करने का तरीका दिखाया गया है. कोड के हर सैंपल के लिए, इनमें बदलाव करें:

पीडीएफ़ फ़ाइलें

mime-types एट्रिब्यूट का इस्तेमाल करके, व्यू को फ़िल्टर किया जाता है, ताकि सिर्फ़ पीडीएफ़ फ़ाइलें दिखें.

<drive-picker
  prompt="PROMPT"
  origin="ORIGIN"
  app-id="APP_ID"
  client-id="CLIENT_ID"
>
  <drive-picker-docs-view mime-types="application/pdf"></drive-picker-docs-view>
</drive-picker>

इमेज और वीडियो फ़ाइलें

mime-types एट्रिब्यूट का इस्तेमाल करके, व्यू को फ़िल्टर किया जाता है, ताकि सिर्फ़ इमेज (JPEG, PNG) और वीडियो (MP4, QuickTime) फ़ाइलें दिखें.

<drive-picker
  prompt="PROMPT"
  origin="ORIGIN"
  app-id="APP_ID"
  client-id="CLIENT_ID"
>
  <drive-picker-docs-view mime-types="image/jpeg,image/png,video/mp4,video/quicktime"></drive-picker-docs-view>
</drive-picker>

मेरे मालिकाना हक वाली फ़ाइलें

owned-by-me एट्रिब्यूट का इस्तेमाल करके, व्यू को फ़िल्टर किया जाता है, ताकि सिर्फ़ मौजूदा उपयोगकर्ता के मालिकाना हक वाली फ़ाइलें दिखें.

<drive-picker
  prompt="PROMPT"
  origin="ORIGIN"
  app-id="APP_ID"
  client-id="CLIENT_ID"
>
  <drive-picker-docs-view owned-by-me="true"></drive-picker-docs-view>
</drive-picker>

बिना शीर्षक वाली फ़ाइलों के लिए क्वेरी

query एट्रिब्यूट का इस्तेमाल करके, व्यू को फ़िल्टर किया जाता है, ताकि खोज क्वेरी "बिना शीर्षक वाली" से मैच करने वाली फ़ाइलें दिखें.

<drive-picker
  prompt="PROMPT"
  origin="ORIGIN"
  app-id="APP_ID"
  client-id="CLIENT_ID"
>
  <drive-picker-docs-view query="Untitled"></drive-picker-docs-view>
</drive-picker>

स्टार के निशान वाली फ़ाइलें

starred एट्रिब्यूट का इस्तेमाल करके, व्यू को फ़िल्टर किया जाता है, ताकि सिर्फ़ स्टार के निशान वाली फ़ाइलें दिखें.

<drive-picker
  prompt="PROMPT"
  origin="ORIGIN"
  app-id="APP_ID"
  client-id="CLIENT_ID"
>
  <drive-picker-docs-view starred="true"></drive-picker-docs-view>
</drive-picker>
  • एट्रिब्यूट, इवेंट, और प्रॉपर्टी के बारे में ज़्यादा जानकारी पाने के लिए, GitHub पर पूरा drive-picker-element दस्तावेज़ देखें.