इस दस्तावेज़ में, Google Picker API का इस्तेमाल करके, Google Picker को अपने डेस्कटॉप और मोबाइल ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.
Google Picker API की मदद से, लोगों को Google Drive की फ़ाइलें चुनने या अपलोड करने की सुविधा मिलती है. उपयोगकर्ता, आपके डेस्कटॉप, मोबाइल या वेब ऐप्लिकेशन को Drive में मौजूद अपना डेटा ऐक्सेस करने की अनुमति दे सकते हैं. इससे उन्हें अपनी फ़ाइलों के साथ सुरक्षित और अनुमति पाकर इंटरैक्ट करने का तरीका मिलता है.
सुविधाएं
Google Picker में कई सुविधाएं होती हैं:
- इसका लुक और फ़ील, Google Drive के यूज़र इंटरफ़ेस (यूआई) जैसा है.
- Drive की फ़ाइलों की झलक और थंबनेल इमेज दिखाने वाले कई व्यू.
- पहले से फ़िल्टर किए गए ऐसे व्यू जिनमें सिर्फ़ कुछ खास तरह की फ़ाइलें (जैसे, PDF या इमेज) या कुछ फ़ोल्डर दिखते हैं.
- उपयोगकर्ता के डिफ़ॉल्ट ब्राउज़र में, नए टैब में 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 प्रोजेक्ट में, एक या उससे ज़्यादा एपीआई चालू किए जा सकते हैं.Google Cloud Console में, Google Picker API को चालू करें.
पुष्टि करने और अनुमति देने की सुविधा सेट अप करना
असली उपयोगकर्ताओं की पुष्टि करने और अपने ऐप्लिकेशन में उपयोगकर्ता का डेटा ऐक्सेस करने के लिए, आपको एक या उससे ज़्यादा OAuth 2.0 क्लाइंट आईडी बनाने होंगे. क्लाइंट आईडी का इस्तेमाल, Google के OAuth सर्वर पर किसी एक ऐप्लिकेशन की पहचान करने के लिए किया जाता है. अगर आपका ऐप्लिकेशन एक से ज़्यादा प्लैटफ़ॉर्म पर काम करता है, तो आपको हर प्लैटफ़ॉर्म के लिए अलग क्लाइंट आईडी बनाना होगा.डेस्कटॉप ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना
OAuth 2.0 क्लाइंट आईडी बनाने के लिए, यह तरीका अपनाएं:
- Google API Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
- क्लाइंट बनाएं पर क्लिक करें.
- ऐप्लिकेशन का टाइप > डेस्कटॉप ऐप्लिकेशन पर क्लिक करें.
- नाम फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम टाइप करें. यह नाम सिर्फ़ Google API Console में दिखता है.
- बनाएं पर क्लिक करें.
नया क्रेडेंशियल, "OAuth 2.0 क्लाइंट आईडी" में दिखता है.
ऐप्लिकेशन को उन फ़ाइलों का ऐक्सेस देने के लिए, आपको यह तरीका अपनाना होगा:
आपको
drive.file,driveयाdrive.readonlyस्कोप के साथ OAuth 2.0 टोकन हासिल करना होगा. इसके लिए, इन निर्देशों का पालन करें: OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना. स्कोप के बारे में ज़्यादा जानकारी के लिए, Google Drive API के स्कोप चुनें लेख पढ़ें.Drive API को OAuth 2.0 टोकन पास करें, ताकि उन फ़ाइलों को पढ़ा और उनमें बदलाव किया जा सके जिनके लिए उपयोगकर्ता ने पहले ही ऐक्सेस दिया है.
अपने मोबाइल ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना
OAuth 2.0 क्लाइंट आईडी बनाने के लिए, मोबाइल ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना में दिया गया तरीका अपनाएं.
अपने वेब ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना
OAuth 2.0 क्लाइंट आईडी बनाने के लिए, वेब ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना में दिया गया तरीका अपनाएं.
Google Picker को डिसप्ले करता है
डेस्कटॉप और मोबाइल ऐप्लिकेशन के लिए Google Picker API, उपयोगकर्ता के डिफ़ॉल्ट ब्राउज़र में नए टैब में Google Picker पर रीडायरेक्ट करता है. जब उपयोगकर्ता ऐक्सेस करने की अनुमति देता है और काम की फ़ाइलें चुनता है, तब Google Picker, कॉलबैक यूआरएल के ज़रिए कॉलिंग ऐप्लिकेशन पर वापस आ जाता है.
-
Google Picker को ट्रिगर करके, अपने ऐप्लिकेशन की पुष्टि करें.
-
Google से साइन इन करें और मांगी गई अनुमतियां दें.
-
Google Picker में जाकर, Google Drive की फ़ाइलें ब्राउज़ करें और अपनी पसंद का आइटम चुनें.
-
चुने गए विकल्प की पुष्टि करें. इसके बाद, अपने ऐप्लिकेशन में फ़ाइल जोड़ने के लिए, डालें पर टैप करें.
Google Picker को अपने ऐप्लिकेशन में इंटिग्रेट करना
उपयोगकर्ताओं को अतिरिक्त फ़ाइलों का ऐक्सेस देने या आपके ऐप्लिकेशन के फ़्लो में इस्तेमाल करने के लिए फ़ाइलें चुनने की अनुमति देने के लिए, यह तरीका अपनाएं:
इन निर्देशों का पालन करके,
drive.fileस्कोप के ऐक्सेस का अनुरोध करें, ताकि OAuth 2.0 ऐक्सेस पेज को ब्राउज़र के नए टैब में खोला जा सके: OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना. स्कोप के बारे में ज़्यादा जानकारी के लिए, Google Drive API के स्कोप चुनें लेख पढ़ें.ध्यान दें कि इन ऐप्लिकेशन के लिए, सिर्फ़
drive.fileस्कोप की अनुमति है. इसे किसी अन्य स्कोप के साथ नहीं जोड़ा जा सकता.नए ब्राउज़र टैब का यूआरएल, सभी स्टैंडर्ड OAuth क्वेरी स्ट्रिंग पैरामीटर स्वीकार करता है.
आपको अपने OAuth 2.0 ऑथराइज़ेशन यूआरएल अनुरोध में,
promptऔरtrigger_onepickयूआरएल पैरामीटर जोड़ने होंगे. इसके अलावा, Google Picker को कई अन्य पैरामीटर के साथ भी पसंद के मुताबिक बनाया जा सकता है:पैरामीटर ब्यौरा स्थिति prompt=consentफ़ाइल का ऐक्सेस पाने के लिए प्रॉम्प्ट. ज़रूरी है trigger_onepick=trueGoogle 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के लिए, कस्टम प्रोटोकॉल या लोकलहोस्ट यूआरएल का इस्तेमाल करना है, तो आपको एक सार्वजनिक एचटीटीपीएस यूआरएल का इस्तेमाल करना होगा. यह यूआरएल, कस्टम प्रोटोकॉल या लोकलहोस्ट यूआरएल पर रीडायरेक्ट करता है.
जब उपयोगकर्ता ऐक्सेस देता है और काम की फ़ाइलें चुनता है, तो 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ऐप्लिकेशन को तीसरे चरण में मिले ऑथराइज़ेशन कोड के बदले, नया OAuth 2.0 टोकन लेना होगा. ज़्यादा जानकारी के लिए, रीफ़्रेश और ऐक्सेस टोकन के लिए ऑथराइज़ेशन कोड बदलना लेख पढ़ें.
इसके बाद, ऐप्लिकेशन 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 वैल्यू होती है. यह चुने गए फ़ाइल आईडी की कॉमा लगाकर अलग की गई सूची होती है.