Google Picker को डेस्कटॉप और मोबाइल ऐप्लिकेशन में इंटिग्रेट करना

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

Google Picker API की मदद से, उपयोगकर्ताओं को Google Drive में मौजूद फ़ाइलें चुनने या अपलोड करने की सुविधा दी जा सकती है. उपयोगकर्ता, अपने Drive के डेटा को ऐक्सेस करने की अनुमति, अपने डेस्कटॉप, मोबाइल या वेब ऐप्लिकेशन को दे सकते हैं. इससे, उन्हें अपनी फ़ाइलों के साथ सुरक्षित और अनुमति वाला इंटरैक्शन मिलता है.

सुविधाएं

Google Picker में ये सुविधाएं उपलब्ध हैं:

  • Google Drive के यूज़र इंटरफ़ेस (यूआई) जैसा लुक और फ़ील.
  • Drive में मौजूद फ़ाइलों की झलक और थंबनेल इमेज दिखाने वाले कई व्यू.
  • पहले से फ़िल्टर किए गए व्यू. इनमें सिर्फ़ खास तरह की फ़ाइलें (जैसे, पीडीएफ़ या इमेज) या कुछ फ़ोल्डर दिखते हैं.
  • उपयोगकर्ता के डिफ़ॉल्ट ब्राउज़र में, नए टैब में Google Picker पर रीडायरेक्ट करने की सुविधा. अगर आपको Google Picker API को क्लाइंट पेज पर खोलना है, तो इसके बजाय वेब ऐप्लिकेशन के लिए Google Picker API का इस्तेमाल करें.

ध्यान दें कि Google Picker की मदद से, फ़ाइलें चुनी और अपलोड की जा सकती हैं. हालांकि, इससे उपयोगकर्ता एक फ़ोल्डर से दूसरे फ़ोल्डर में फ़ाइलें व्यवस्थित, ट्रांसफ़र या कॉपी नहीं कर सकते. फ़ाइलें मैनेज करने के लिए, आपको Google Drive API या Drive के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना होगा.

ज़रूरी शर्तें

Google Picker का इस्तेमाल करने वाले ऐप्लिकेशन को, सेवा की सभी मौजूदा शर्तों का पालन करना होगा. सबसे ज़रूरी बात यह है कि आपको अपने अनुरोधों में अपनी पहचान सही तरीके से बतानी होगी.

आपके पास Google Cloud प्रोजेक्ट भी होना चाहिए.

अपना एनवायरमेंट सेट अप करने का तरीका

Google Picker API का इस्तेमाल शुरू करने के लिए, आपको अपना एनवायरमेंट सेट अप करना होगा.

इस एपीआई को चालू करें

Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा. किसी एक Google Cloud प्रोजेक्ट में, एक या एक से ज़्यादा एपीआई चालू किए जा सकते हैं.

पुष्टि और अनुमति सेट अप करना

अपने ऐप्लिकेशन में, उपयोगकर्ताओं की पुष्टि करने और उनके डेटा को ऐक्सेस करने के लिए, आपको एक या एक से ज़्यादा OAuth 2.0 क्लाइंट आईडी बनाने होंगे. क्लाइंट आईडी का इस्तेमाल, Google के OAuth सर्वर पर किसी एक ऐप्लिकेशन की पहचान करने के लिए किया जाता है. अगर आपका ऐप्लिकेशन एक से ज़्यादा प्लैटफ़ॉर्म पर चलता है, तो आपको हर प्लैटफ़ॉर्म के लिए अलग-अलग क्लाइंट आईडी बनाना होगा.

डेस्कटॉप ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना

OAuth 2.0 क्लाइंट आईडी बनाने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Console में, मेन्यू > Google Auth प्लैटफ़ॉर्म > क्लाइंट पर जाएं.

    क्लाइंट पर जाएं

  2. क्लाइंट बनाएं पर क्लिक करें.
  3. ऐप्लिकेशन का टाइप पर क्लिक करें > अपने ऐप्लिकेशन के लिए, सुझाया गया ऐप्लिकेशन टाइप चुनें.
  4. नाम फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम डालें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
  5. बनाएं पर क्लिक करें.

    नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.

अगर आपको ऐप्लिकेशन को पहले से दी गई फ़ाइलों के लिए अनुमति चाहिए, तो यह तरीका अपनाएं:

  1. आपको OAuth 2.0 टोकन हासिल करना होगा. इसके लिए, drive.file, drive या drive.readonly स्कोप का इस्तेमाल करना होगा. इसके लिए, OAuth 2.0 का इस्तेमाल करके Google API को ऐक्सेस करना लेख में दिए गए निर्देशों का पालन करें. स्कोप के बारे में ज़्यादा जानने के लिए, देखें Google Drive API के स्कोप चुनना.

  2. Drive API को OAuth 2.0 टोकन पास करें, ताकि उन फ़ाइलों को पढ़ा और उनमें बदलाव किया जा सके जिनके लिए उपयोगकर्ता ने पहले अनुमति दी थी.

अपने मोबाइल ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना

OAuth 2.0 क्लाइंट आईडी बनाने के लिए, मोबाइल ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना में दिया गया तरीका अपनाएं.

अपने वेब ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना

OAuth 2.0 क्लाइंट आईडी बनाने के लिए, वेब ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना में दिया गया तरीका अपनाएं.

Google Picker दिखाना

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

  • Google Picker के यूज़र इंटरफ़ेस (यूआई) की पुष्टि करने वाली स्क्रीन

    Google Picker को ट्रिगर करके, अपने ऐप्लिकेशन की पुष्टि करें.

  • Google से साइन इन करने और अनुमतियों का डायलॉग बॉक्स

    Google से साइन इन करें और मांगी गई अनुमतियां दें.

  • Picker में Google Drive से फ़ाइल चुनने का इंटरफ़ेस

    Google Picker में, Google Drive में मौजूद अपनी फ़ाइलें ब्राउज़ करें और अपनी पसंद का आइटम चुनें.

  • फ़ाइल जोड़ने की पुष्टि करने वाली स्क्रीन, जिसमें 'जोड़ें' बटन दिख रहा है

    अपनी पसंद की पुष्टि करें और अपने ऐप्लिकेशन में फ़ाइल जोड़ने के लिए, जोड़ें पर टैप करें.

Google Picker को अपने ऐप्लिकेशन में इंटिग्रेट करना

अगर आपको उपयोगकर्ताओं को अन्य फ़ाइलों का ऐक्सेस देने या अपने ऐप्लिकेशन के फ़्लो में इस्तेमाल करने के लिए फ़ाइलें चुनने की अनुमति देनी है, तो यह तरीका अपनाएं:

  1. drive.file स्कोप के लिए ऐक्सेस का अनुरोध करें, ताकि OAuth 2.0 का ऐक्सेस पेज नए ब्राउज़र टैब में खोला जा सके. इसके लिए, इन निर्देशों का पालन करें: OAuth 2.0 का इस्तेमाल करके Google API को ऐक्सेस करना. स्कोप के बारे में ज़्यादा जानने के लिए, देखें Google Drive API के स्कोप चुनना.

    ध्यान दें कि इन ऐप्लिकेशन के लिए सिर्फ़ drive.file स्कोप की अनुमति है. इसे किसी अन्य स्कोप के साथ नहीं जोड़ा जा सकता.

  2. नए ब्राउज़र टैब का यूआरएल, सभी स्टैंडर्ड OAuth क्वेरी स्ट्रिंग पैरामीटर स्वीकार करता है.

    आपको अपने OAuth 2.0 ऑथराइज़ेशन यूआरएल के अनुरोध में, prompt और trigger_onepick यूआरएल पैरामीटर जोड़ने होंगे. आपके पास Google Picker को अन्य कई पैरामीटर के साथ पसंद के मुताबिक बनाने का विकल्प भी है:

    पैरामीटर ब्यौरा स्थिति
    prompt=consent फ़ाइल के ऐक्सेस के लिए प्रॉम्प्ट. ज़रूरी है
    trigger_onepick=true Google Picker को चालू करें. ज़रूरी है
    allow_multiple=true अगर यह 'सही है' पर सेट है, तो उपयोगकर्ता को एक से ज़्यादा फ़ाइलें चुनने की अनुमति दें. वैकल्पिक
    mimetypes=MIMETYPES सर्च के नतीजों को फ़िल्टर करने के लिए, कॉमा लगाकर अलग किए गए MIME टाइप की सूची. अगर यह सेट नहीं है, तो व्यू में सभी MIME टाइप की फ़ाइलें दिखती हैं. वैकल्पिक
    file_ids=FILE_IDS सर्च के नतीजों को फ़िल्टर करने के लिए, कॉमा लगाकर अलग किए गए फ़ाइल आईडी की सूची. अगर यह सेट नहीं है, तो व्यू में सभी फ़ाइलें दिखती हैं. वैकल्पिक
    allow_folder_selection=true अगर यह 'सही है' पर सेट है, तो उपयोगकर्ता को फ़ोल्डर चुनने की अनुमति दें. वैकल्पिक

    यहां OAuth 2.0 ऑथराइज़ेशन यूआरएल के अनुरोध का एक सैंपल दिया गया है:

    https://accounts.google.com/o/oauth2/v2/auth? \
    client_id=CLIENT_ID \
    &scope=https://www.googleapis.com/auth/drive.file \
    &redirect_uri=REDIRECT_URI \
    &response_type=code \
    &access_type=offline \
    &prompt=consent \
    &trigger_onepick=true
    

    इनकी जगह ये डालें:

    • CLIENT_ID: आपके ऐप्लिकेशन का क्लाइंट आईडी.

    • REDIRECT_URI: पुष्टि होने के बाद, ऑथराइज़ेशन सर्वर, उपयोगकर्ता के ब्राउज़र को यहां रीडायरेक्ट करता है. उदाहरण के लिए, https://www.cymbalgroup.com/oauth2callback.

      कोई ऐसा redirect_uri चुनें जो आपके ऐप्लिकेशन टाइप और OAuth सेटअप के साथ काम करता हो. Google Picker पर कोई अतिरिक्त पाबंदी नहीं है.

  3. उपयोगकर्ता से अनुमति मिलने और काम की फ़ाइलें चुनने के बाद, OAuth, अनुरोध में बताए गए redirect_uri पर रीडायरेक्ट करता है. इसके साथ, ये यूआरएल पैरामीटर जोड़े जाते हैं:

    • picked_file_ids: अगर उपयोगकर्ता ने अनुमति दी है और फ़ाइलें चुनी हैं, तो चुनी गई फ़ाइलों के आईडी की कॉमा लगाकर अलग की गई सूची.

    • code: अनुरोध में सेट किए गए response_type पैरामीटर के आधार पर, ऐक्सेस टोकन या ऐक्सेस कोड. इस पैरामीटर में, नया ऑथराइज़ेशन कोड शामिल होता है.

    • scope: अनुरोध में शामिल स्कोप.

    • error: अगर उपयोगकर्ता ने सहमति फ़्लो में अनुरोध रद्द कर दिया है, तो गड़बड़ी दिखती है.

    यहां OAuth 2.0 ऑथराइज़ेशन यूआरएल के जवाब का एक सैंपल दिया गया है:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. ऐप्लिकेशन को, तीसरे चरण में मिले ऑथराइज़ेशन कोड को नए OAuth 2.0 टोकन के लिए एक्सचेंज करना होगा. ज़्यादा जानकारी के लिए, रीफ़्रेश और ऐक्सेस टोकन के लिए ऑथराइज़ेशन कोड एक्सचेंज करना लेख पढ़ें.

  5. इसके बाद, ऐप्लिकेशन, तीसरे चरण में यूआरएल पैरामीटर से मिले फ़ाइल आईडी और चौथे चरण में मिले OAuth 2.0 टोकन का इस्तेमाल करके, Drive API को कॉल कर सकते हैं. ज़्यादा जानकारी के लिए, Google Drive API खास जानकारी देखें.

Android ऐप्लिकेशन के साथ Google Picker का इस्तेमाल करना

अपने Android मोबाइल ऐप्लिकेशन में भी Google Picker का इस्तेमाल किया जा सकता है.

मोबाइल ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना

अपने Android ऐप्लिकेशन में Google Picker का इस्तेमाल करने के लिए, आपको डेस्कटॉप ऐप्लिकेशन की तरह ही OAuth 2.0 का इस्तेमाल करके, उपयोगकर्ताओं को अनुमति देनी होगी. Android पर पुष्टि करने के बारे में ज़्यादा जानने के लिए, देखें Google के उपयोगकर्ता डेटा को ऐक्सेस करने की अनुमति देना लेख.

अनुमति के दौरान Google Picker दिखाने के लिए, एक AuthorizationRequest बनाएं और AuthorizationRequest.ResourceParameter ऑब्जेक्ट पर PICKER_OAUTH_TRIGGER संसाधन पैरामीटर का इस्तेमाल करें.

AuthorizationRequest बनाते समय:

  • drive.file स्कोप का इस्तेमाल करें.

  • setOptOutIncludingGrantedScopes को true पर कॉल करें, ताकि यह पक्का किया जा सके कि लौटाया गया टोकन सिर्फ़ drive.file स्कोप के लिए हो. साथ ही, यह पहले से दी गई अनुमतियों के लिए न हो.

  • AuthorizationRequest.Prompt फ़ील्ड को CONSENT पर सेट करें, ताकि उपयोगकर्ता से सहमति के लिए प्रॉम्प्ट किया जा सके. भले ही, उसे पहले अनुमति दी गई थी.

  • आपके पास बिटमैप "OR" (|) ऑपरेटर का इस्तेमाल करके, AuthorizationRequest.Prompt फ़ील्ड को SELECT_ACCOUNT पर सेट करने का विकल्प भी है. इससे, सहमति के लिए प्रॉम्प्ट दिखने से पहले, उपयोगकर्ता कोई खाता चुन सकेगा.

Google Picker को कॉल करना

डेस्कटॉप ऐप्लिकेशन की तरह ही, Google Picker को कई वैकल्पिक पैरामीटर के साथ पसंद के मुताबिक बनाया जा सकता है:

  • PICKER_ALLOW_MULTIPLE: उपयोगकर्ताओं को एक से ज़्यादा फ़ाइलें चुनने की अनुमति देता है.
  • PICKER_MIMETYPES: सर्च के नतीजों को फ़िल्टर करने के लिए, कॉमा लगाकर अलग किए गए MIME टाइप की सूची स्वीकार करता है. अगर यह सेट नहीं है, तो व्यू में सभी MIME टाइप की फ़ाइलें दिखती हैं.
  • PICKER_FILE_IDS: सर्च के नतीजों को फ़िल्टर करने के लिए, कॉमा लगाकर अलग किए गए फ़ाइल आईडी की सूची स्वीकार करता है. अगर यह सेट नहीं है, तो व्यू में सभी फ़ाइलें दिखती हैं.
  • PICKER_ALLOW_FOLDER_SELECTION: उपयोगकर्ताओं को फ़ोल्डर चुनने की अनुमति देता है.

डेस्कटॉप ऐप्लिकेशन में मौजूद वैकल्पिक पैरामीटर के बारे में ज़्यादा जानने के लिए, Google Picker दिखाना लेख पढ़ें.

उपयोगकर्ता से अनुमति मिलने और काम की फ़ाइलें चुनने के बाद, the getTokenResponseParams object of the AuthorizationResult resource लौटाया जाता है. अगर उपयोगकर्ता ने अनुमति दी है, तो इस ऑब्जेक्ट में picked_file_ids वैल्यू होती है. यह चुनी गई फ़ाइलों के आईडी की कॉमा लगाकर अलग की गई सूची होती है.