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