এই ডকুমেন্টটিতে ব্যাখ্যা করা হয়েছে, কীভাবে গুগল পিকার এপিআই (Google Picker API) ব্যবহার করে আপনার ডেস্কটপ এবং মোবাইল অ্যাপে গুগল পিকারকে ইন্টিগ্রেট করা যায়।
গুগল পিকার এপিআই হলো ব্যবহারকারীদের গুগল ড্রাইভ ফাইল নির্বাচন বা আপলোড করার একটি উপায়। ব্যবহারকারীরা তাদের ড্রাইভ ডেটা অ্যাক্সেস করার জন্য আপনার ডেস্কটপ, মোবাইল বা ওয়েব অ্যাপকে অনুমতি দিতে পারেন, যা তাদের ফাইলগুলোর সাথে ইন্টারঅ্যাক্ট করার একটি নিরাপদ এবং অনুমোদিত উপায় প্রদান করে।
বৈশিষ্ট্য
গুগল পিকারের বেশ কয়েকটি বৈশিষ্ট্য রয়েছে:
- গুগল ড্রাইভ ইউআই- এর মতো একই রকম চেহারা ও অনুভূতি।
- ড্রাইভ ফাইলগুলির প্রিভিউ এবং থাম্বনেইল ছবি দেখানোর জন্য বিভিন্ন ভিউ।
- পূর্ব-ফিল্টার করা ভিউ, যা শুধুমাত্র নির্দিষ্ট ফাইলের ধরন (যেমন পিডিএফ বা ছবি) অথবা নির্দিষ্ট ফোল্ডারগুলো দেখায়।
- ব্যবহারকারীর ডিফল্ট ব্রাউজারের একটি নতুন ট্যাবে গুগল পিকার-এ রিডাইরেক্ট করা।
মনে রাখবেন যে, গুগল পিকার দিয়ে ফাইল বাছাই ও আপলোড করা গেলেও, এটি ব্যবহারকারীদের ফাইল গোছাতে, সরাতে বা এক ফোল্ডার থেকে অন্য ফোল্ডারে কপি করতে দেয় না। ফাইল পরিচালনা করার জন্য, আপনাকে অবশ্যই গুগল ড্রাইভ এপিআই (API) অথবা ড্রাইভ ইউআই (UI) ব্যবহার করতে হবে।
পূর্বশর্ত
যেসব অ্যাপ গুগল পিকার ব্যবহার করে, তাদের অবশ্যই বিদ্যমান সকল পরিষেবার শর্তাবলী মেনে চলতে হবে। সবচেয়ে গুরুত্বপূর্ণ হলো, আপনার অনুরোধগুলিতে আপনাকে অবশ্যই নিজের পরিচয় সঠিকভাবে প্রদান করতে হবে।
আপনার একটি গুগল ক্লাউড প্রজেক্টও থাকতে হবে।
আপনার পরিবেশ তৈরি করুন
Google Picker API ব্যবহার শুরু করতে, আপনাকে আপনার পরিবেশ সেট আপ করতে হবে।
এপিআই সক্রিয় করুন
গুগল এপিআই ব্যবহার করার আগে, আপনাকে একটি গুগল ক্লাউড প্রজেক্টে সেগুলি চালু করতে হবে। আপনি একটি একক গুগল ক্লাউড প্রজেক্টে এক বা একাধিক এপিআই চালু করতে পারেন।গুগল ক্লাউড কনসোলে গুগল পিকার এপিআই (Google Picker API) সক্রিয় করুন।
প্রমাণীকরণ এবং অনুমোদন সেট আপ করুন
আপনার অ্যাপে ব্যবহারকারীদের প্রমাণীকরণ করতে এবং তাদের ডেটা অ্যাক্সেস করতে, আপনাকে এক বা একাধিক OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে হবে। গুগলের OAuth সার্ভারের কাছে একটি একক অ্যাপকে শনাক্ত করতে ক্লায়েন্ট আইডি ব্যবহৃত হয়। যদি আপনার অ্যাপ একাধিক প্ল্যাটফর্মে চলে, তবে আপনাকে প্রতিটি প্ল্যাটফর্মের জন্য একটি পৃথক ক্লায়েন্ট আইডি তৈরি করতে হবে।একটি ডেস্কটপ অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন
একটি OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:
- Google API কনসোলে, > Google Auth প্ল্যাটফর্ম > ক্লায়েন্টস- এ যান।
- ক্লায়েন্ট তৈরি করুন -এ ক্লিক করুন।
- অ্যাপ্লিকেশন টাইপ > ডেস্কটপ অ্যাপ-এ ক্লিক করুন।
- Name ফিল্ডে ক্রেডেনশিয়ালটির জন্য একটি নাম টাইপ করুন। এই নামটি শুধুমাত্র Google API Console-এ দেখানো হয়।
- তৈরি করুন- এ ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়ালটি "OAuth 2.0 ক্লায়েন্ট আইডি"-এর অধীনে দেখা যায়।
অ্যাপগুলিকে পূর্বে মঞ্জুর করা ফাইলগুলিতে অনুমোদন পেতে হলে, আপনাকে নিম্নলিখিত ধাপগুলি অনুসরণ করতে হবে:
আপনাকে অবশ্যই ` Using OAuth 2.0 to Access Google APIs` এই নির্দেশাবলী অনুসরণ করে `
drive.file,drive, অথবাdrive.readonlyস্কোপ সহ একটি OAuth 2.0 টোকেন সংগ্রহ করতে হবে। স্কোপ সম্পর্কে আরও তথ্যের জন্য, `Choose Google Drive API scopes` দেখুন।যেসব ফাইলে ব্যবহারকারী পূর্বে অ্যাক্সেস দিয়েছেন, সেগুলো পড়তে ও পরিবর্তন করতে Drive API-তে OAuth 2.0 টোকেনটি পাঠান।
আপনার মোবাইল অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন।
একটি OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে, "মোবাইল অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন" অংশের ধাপগুলো অনুসরণ করুন।
আপনার ওয়েব অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন
একটি OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে, "একটি ওয়েব অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন" অংশের ধাপগুলো অনুসরণ করুন।
গুগল পিকার প্রদর্শন করুন
ডেস্কটপ এবং মোবাইল অ্যাপের জন্য গুগল পিকার এপিআই ব্যবহারকারীর ডিফল্ট ব্রাউজারের একটি নতুন ট্যাবে গুগল পিকার-এ রিডাইরেক্ট করে। ব্যবহারকারী অ্যাক্সেস মঞ্জুর করে প্রাসঙ্গিক ফাইলগুলো বেছে নিলে, গুগল পিকার কলব্যাক ইউআরএল-এর মাধ্যমে কলিং অ্যাপে ফিরে আসে।
ক্লায়েন্ট পেজে গুগল পিকার এপিআই চালু রাখতে, এর পরিবর্তে ওয়েব অ্যাপের জন্য গুগল পিকার এপিআই ব্যবহার করুন। আরও তথ্যের জন্য, ওয়েব অ্যাপে গুগল পিকার ইন্টিগ্রেট করুন দেখুন।
ব্যবহারকারীদের অতিরিক্ত ফাইল অ্যাক্সেস করার অনুমতি দিতে বা আপনার অ্যাপের কার্যপ্রবাহে ব্যবহারের জন্য ফাইল বাছাই করতে, এই ধাপগুলো অনুসরণ করুন:
এই নির্দেশাবলী ব্যবহার করে একটি নতুন ব্রাউজার ট্যাবে OAuth 2.0 অ্যাক্সেস পৃষ্ঠাটি খুলতে
drive.fileস্কোপের জন্য অ্যাক্সেসের অনুরোধ করুন: Using OAuth 2.0 to Access Google APIs । স্কোপ সম্পর্কে আরও তথ্যের জন্য, Choose Google Drive API scopes দেখুন।মনে রাখবেন যে এই অ্যাপগুলির জন্য শুধুমাত্র
drive.fileস্কোপ অনুমোদিত এবং এটি অন্য কোনো স্কোপের সাথে একত্রিত করা যাবে না।নতুন ব্রাউজার ট্যাবের URL-টি সকল স্ট্যান্ডার্ড OAuth কোয়েরি স্ট্রিং প্যারামিটার গ্রহণ করে।
আপনার OAuth 2.0 অথরাইজেশন URL অনুরোধের সাথে অবশ্যই
promptএবংtrigger_onepickURL প্যারামিটারগুলো যুক্ত করতে হবে। ঐচ্ছিকভাবে, আপনি আরও বিভিন্ন প্যারামিটার দিয়ে গুগল পিকারটি কাস্টমাইজ করতে পারেন:প্যারামিটার বর্ণনা অবস্থা prompt=consentফাইল অ্যাক্সেসের জন্য অনুরোধ। প্রয়োজনীয় trigger_onepick=trueগুগল পিকার সক্রিয় করুন। প্রয়োজনীয় allow_multiple=trueসত্য হলে, ব্যবহারকারীকে একাধিক ফাইল নির্বাচন করার অনুমতি দিন। ঐচ্ছিক mimetypes= MIMETYPESঅনুসন্ধানের ফলাফল ফিল্টার করার জন্য MIME টাইপগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা। এটি সেট করা না থাকলে, ভিউতে সব MIME টাইপের ফাইল প্রদর্শিত হবে। ঐচ্ছিক file_ids= FILE_IDSঅনুসন্ধানের ফলাফল ফিল্টার করার জন্য ফাইল আইডিগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা। এটি সেট করা না থাকলে, ভিউতে সমস্ত ফাইল প্রদর্শিত হবে। ঐচ্ছিক allow_folder_selection=trueযদি সত্য হয়, তবে ব্যবহারকারীকে ফোল্ডার নির্বাচন করার অনুমতি দিন। ঐচ্ছিক নিম্নলিখিত নমুনাটি একটি OAuth 2.0 অনুমোদন URL অনুরোধ দেখাচ্ছে:
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অবশ্যই একটি পাবলিক HTTPS URL হতে হবে। যদি আপনি আপনারredirect_uriজন্য কোনো কাস্টম প্রোটোকল বা লোকালহোস্ট URL ব্যবহার করতে চান, তাহলে আপনাকে অবশ্যই এমন একটি পাবলিক HTTPS URL ব্যবহার করতে হবে যা পরবর্তীতে সেই কাস্টম প্রোটোকল বা লোকালহোস্ট URL-এ রিডাইরেক্ট করে।
ব্যবহারকারী অ্যাক্সেসের অনুমতি দিয়ে প্রাসঙ্গিক ফাইলগুলো বেছে নেওয়ার পর, OAuth অনুরোধে নির্দিষ্ট করা
redirect_uriতে নিম্নলিখিত URL প্যারামিটারগুলো যুক্ত করে রিডাইরেক্ট করে:picked_file_ids: যদি ব্যবহারকারী অ্যাক্সেস দিয়ে থাকেন এবং ফাইল বাছাই করে থাকেন, তাহলে নির্বাচিত ফাইল আইডিগুলোর একটি কমা দিয়ে আলাদা করা তালিকা।code: অনুরোধে সেট করাresponse_typeপ্যারামিটারের উপর ভিত্তি করে প্রাপ্ত অ্যাক্সেস টোকেন বা অ্যাক্সেস কোড। এই প্যারামিটারে একটি নতুন অনুমোদন কোড অন্তর্ভুক্ত রয়েছে।scope: অনুরোধে অন্তর্ভুক্ত পরিধি(গুলি)।error: যদি ব্যবহারকারী সম্মতি প্রক্রিয়ার মধ্যে অনুরোধটি বাতিল করেন, তাহলে একটি ত্রুটি দেখানো হয়।
নিম্নলিখিত নমুনাটি একটি OAuth 2.0 অনুমোদন URL প্রতিক্রিয়া দেখাচ্ছে:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESঅ্যাপগুলিকে অবশ্যই ধাপ ৩ থেকে প্রাপ্ত অনুমোদন কোডটি একটি নতুন OAuth 2.0 টোকেনের জন্য বিনিময় করতে হবে। আরও তথ্যের জন্য, রিফ্রেশ এবং অ্যাক্সেস টোকেনের জন্য অনুমোদন কোড বিনিময় দেখুন।
এরপর অ্যাপগুলো ধাপ ৩-এর URL প্যারামিটার থেকে পাওয়া ফাইল আইডি এবং ধাপ ৪-এ প্রাপ্ত OAuth 2.0 টোকেন ব্যবহার করে Drive API কল করতে পারবে। আরও তথ্যের জন্য, Google Drive API ওভারভিউ দেখুন।
অ্যান্ড্রয়েড অ্যাপের সাথে গুগল পিকার ব্যবহার করুন
আপনি আপনার অ্যান্ড্রয়েড মোবাইল অ্যাপেও গুগল পিকার ব্যবহার করতে পারেন।
একটি মোবাইল অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন
আপনার অ্যান্ড্রয়েড অ্যাপে গুগল পিকার ব্যবহার করতে, ডেস্কটপ অ্যাপের মতোই OAuth 2.0 ব্যবহার করে ব্যবহারকারীদের অনুমোদন দিতে হবে। অ্যান্ড্রয়েড প্রমাণীকরণ সম্পর্কে বিস্তারিত জানতে, “গুগল ব্যবহারকারীর ডেটাতে অ্যাক্সেস অনুমোদন করুন” দেখুন।
অনুমোদনের সময় গুগল পিকার প্রদর্শন করতে, একটি AuthorizationRequest তৈরি করুন এবং AuthorizationRequest.ResourceParameter অবজেক্টে PICKER_OAUTH_TRIGGER রিসোর্স প্যারামিটারটি ব্যবহার করুন।
AuthorizationRequest তৈরি করার সময়:
drive.fileস্কোপটি ব্যবহার করুন।ফেরত আসা টোকেনটি যেন শুধুমাত্র
drive.fileস্কোপের জন্য হয় এবং পূর্বে মঞ্জুর করা কোনো স্কোপের জন্য না হয়, তা নিশ্চিত করতেsetOptOutIncludingGrantedScopestrueতে কল করুন।পূর্বে সম্মতি দেওয়া হলেও ব্যবহারকারীর কাছে পুনরায় সম্মতি চাওয়ার জন্য
AuthorizationRequest.Promptফিল্ডটির মানCONSENTসেট করুন।আপনি ঐচ্ছিকভাবে বিটম্যাপ "OR" (
|) অপারেটর ব্যবহার করেAuthorizationRequest.Promptফিল্ডটিকেওSELECT_ACCOUNTএ সেট করতে পারেন, যাতে সম্মতির অনুরোধটি দেখানোর আগেই ব্যবহারকারী একটি অ্যাকাউন্ট নির্বাচন করতে পারেন।
গুগল পিকারকে কল করুন
ডেস্কটপ অ্যাপের মতোই, আপনি বেশ কিছু ঐচ্ছিক প্যারামিটার দিয়ে গুগল পিকার কাস্টমাইজ করতে পারেন:
-
PICKER_ALLOW_MULTIPLE: ব্যবহারকারীদের একাধিক ফাইল নির্বাচন করার অনুমতি দেয়। -
PICKER_MIMETYPES: অনুসন্ধানের ফলাফল ফিল্টার করার জন্য কমা দ্বারা পৃথক করা MIME টাইপের একটি তালিকা গ্রহণ করে। এটি সেট করা না থাকলে, ভিউতে সব MIME টাইপের ফাইল প্রদর্শিত হয়। -
PICKER_FILE_IDS: অনুসন্ধানের ফলাফল ফিল্টার করার জন্য কমা দিয়ে আলাদা করা ফাইল আইডির একটি তালিকা গ্রহণ করে। এটি সেট না করা হলে, ভিউতে সমস্ত ফাইল প্রদর্শিত হবে। -
PICKER_ALLOW_FOLDER_SELECTION: ব্যবহারকারীদের ফোল্ডার বাছাই করার অনুমতি দেয়।
ডেস্কটপ অ্যাপের ঐচ্ছিক প্যারামিটারগুলো সম্পর্কে আরও তথ্যের জন্য, ‘গুগল পিকার প্রদর্শন’ দেখুন।
ব্যবহারকারী অ্যাক্সেস মঞ্জুর করে প্রাসঙ্গিক ফাইলগুলো বাছাই করার পর, AuthorizationResult রিসোর্সের getTokenResponseParams অবজেক্টটি ফেরত দেওয়া হয়। যদি ব্যবহারকারী অ্যাক্সেস মঞ্জুর করে থাকেন, তবে এই অবজেক্টটিতে picked_file_ids ভ্যালুটি থাকে, যা হলো নির্বাচিত ফাইল আইডিগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা।