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

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

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

सुविधाएं

Google Picker में कई सुविधाएं हैं:

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

ध्यान दें कि 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 API Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.

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

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

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

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

  1. आपको drive.file, drive या drive.readonly स्कोप के साथ OAuth 2.0 टोकन हासिल करना होगा. इसके लिए, इन निर्देशों का पालन करें: 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 API को क्लाइंट पेज में खोलना है, तो वेब ऐप्लिकेशन के लिए Google Picker API का इस्तेमाल करें. ज़्यादा जानकारी के लिए, वेब ऐप्लिकेशन में 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 के लिए दिया गया यूआरएल, सार्वजनिक एचटीटीपीएस यूआरएल होना चाहिए. अगर आपको अपने redirect_uri के लिए, कस्टम प्रोटोकॉल या लोकलहोस्ट यूआरएल का इस्तेमाल करना है, तो आपको एक सार्वजनिक एचटीटीपीएस यूआरएल का इस्तेमाल करना होगा. यह यूआरएल, कस्टम प्रोटोकॉल या लोकलहोस्ट यूआरएल पर रीडायरेक्ट करता है.

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

  • drive.file स्कोप के लिए सिर्फ़ टोकन वापस पाने के लिए, true को setOptOutIncludingGrantedScopes कॉल करें. ऐसा इसलिए, ताकि पहले से दिए गए किसी भी स्कोप के लिए टोकन वापस न मिले.

  • 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 को डिसप्ले करना लेख पढ़ें.

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