গুগল পিকার এপিআই হলো ব্যবহারকারীদের গুগল ড্রাইভ ফাইল নির্বাচন বা আপলোড করার একটি উপায়। ব্যবহারকারীরা তাদের ড্রাইভ ডেটা অ্যাক্সেস করার জন্য আপনার ডেস্কটপ এবং মোবাইল অ্যাপগুলোকে অনুমতি দিতে পারেন, যা তাদের ফাইলগুলোর সাথে ইন্টারঅ্যাক্ট করার একটি নিরাপদ এবং অনুমোদিত উপায় প্রদান করে।
গুগল পিকার ড্রাইভে সংরক্ষিত ফাইলগুলির জন্য একটি 'ফাইল ওপেন' ডায়ালগ হিসেবে কাজ করে এবং এর বেশ কিছু বৈশিষ্ট্য রয়েছে:
- গুগল ড্রাইভ ইউআই- এর মতো একই রকম চেহারা ও অনুভূতি।
- ড্রাইভ ফাইলগুলির প্রিভিউ এবং থাম্বনেইল ছবি দেখানোর জন্য বিভিন্ন ভিউ।
- ব্যবহারকারীর ডিফল্ট ব্রাউজারের একটি নতুন ট্যাবে গুগল পিকার-এ রিডাইরেক্ট করা।
উল্লেখ্য যে, গুগল পিকার ব্যবহারকারীদের ফাইল গোছাতে, সরাতে বা এক ফোল্ডার থেকে অন্য ফোল্ডারে কপি করতে দেয় না। ফাইল পরিচালনা করার জন্য, আপনাকে অবশ্যই গুগল ড্রাইভ এপিআই (API) অথবা ড্রাইভ ইউআই (UI) ব্যবহার করতে হবে।
পূর্বশর্ত
যেসব অ্যাপ গুগল পিকার ব্যবহার করে, তাদের অবশ্যই বিদ্যমান সকল পরিষেবার শর্তাবলী মেনে চলতে হবে। সবচেয়ে গুরুত্বপূর্ণ হলো, আপনার অনুরোধগুলিতে আপনাকে অবশ্যই নিজের পরিচয় সঠিকভাবে প্রদান করতে হবে।
আপনার একটি গুগল ক্লাউড প্রজেক্টও থাকতে হবে।
আপনার পরিবেশ তৈরি করুন
Google Picker API ব্যবহার শুরু করতে, আপনাকে আপনার পরিবেশ সেট আপ করতে হবে।
এপিআই সক্রিয় করুন
গুগল এপিআই ব্যবহার করার আগে, আপনাকে একটি গুগল ক্লাউড প্রজেক্টে সেগুলি চালু করতে হবে। আপনি একটি একক গুগল ক্লাউড প্রজেক্টে এক বা একাধিক এপিআই চালু করতে পারেন।গুগল ক্লাউড কনসোলে গুগল পিকার এপিআই (Google Picker API) সক্রিয় করুন।
একটি এপিআই কী তৈরি করুন
একটি API কী হলো বড় ও ছোট হাতের অক্ষর, সংখ্যা, আন্ডারস্কোর এবং হাইফেন সম্বলিত একটি দীর্ঘ স্ট্রিং, যেমন AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe । এই প্রমাণীকরণ পদ্ধতিটি সর্বজনীনভাবে উপলব্ধ ডেটা, যেমন "এই লিঙ্কের মাধ্যমে ইন্টারনেটে যে কেউ" শেয়ারিং সেটিং ব্যবহার করে শেয়ার করা Google Workspace ফাইলগুলি, বেনামে অ্যাক্সেস করার জন্য ব্যবহৃত হয়। আরও বিস্তারিত জানতে, API কী পরিচালনা দেখুন।
একটি এপিআই কী তৈরি করতে:
- গুগল ক্লাউড কনসোলে, > এপিআই ও পরিষেবা > ক্রেডেনশিয়ালস- এ যান।
- ক্রেডেনশিয়াল তৈরি করুন > এপিআই কী-তে ক্লিক করুন।
- আপনার নতুন এপিআই কী প্রদর্শিত হচ্ছে।
- আপনার অ্যাপের কোডে ব্যবহারের জন্য আপনার এপিআই কী (API key) কপি করতে 'Copy তে ক্লিক করুন। এপিআই কী-টি আপনার প্রোজেক্টের ক্রেডেনশিয়ালস (credentials)-এর 'API Keys' সেকশনেও পাওয়া যাবে।
- অননুমোদিত ব্যবহার রোধ করতে, আমরা এপিআই কী কোথায় এবং কোন কোন এপিআই-এর জন্য ব্যবহার করা যাবে তা সীমাবদ্ধ করার সুপারিশ করি। আরও বিস্তারিত জানতে, ‘এপিআই সীমাবদ্ধতা যোগ করুন ’ দেখুন।
একটি ডেস্কটপ অ্যাপের জন্য ক্রেডেনশিয়াল অনুমোদন করুন
আপনার অ্যাপে ব্যবহারকারীদের প্রমাণীকরণ করতে এবং তাদের ডেটা অ্যাক্সেস করতে, আপনাকে এক বা একাধিক OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে হবে। গুগলের OAuth সার্ভারের কাছে একটি একক অ্যাপকে শনাক্ত করতে ক্লায়েন্ট আইডি ব্যবহৃত হয়। যদি আপনার অ্যাপ একাধিক প্ল্যাটফর্মে চলে, তবে আপনাকে প্রতিটি প্ল্যাটফর্মের জন্য একটি পৃথক ক্লায়েন্ট আইডি তৈরি করতে হবে।- 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 অ্যাক্সেস পৃষ্ঠাটি খুলতে
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 তৈরি করার সময়:
-
https://www.googleapis.com/auth/drive.fileস্কোপটি ব্যবহার করুন। - ফেরত আসা টোকেনটি যেন শুধুমাত্র
https://www.googleapis.com/auth/drive.fileস্কোপের জন্য হয় এবং পূর্বে মঞ্জুর করা কোনো স্কোপের জন্য না হয়, তা নিশ্চিত করতেsetOptOutIncludingGrantedScopes(true)কল করুন। - পূর্বে সম্মতি দেওয়া হলেও ব্যবহারকারীর কাছে পুনরায় সম্মতি চাওয়ার জন্য
AuthorizationRequest.Promptফিল্ডটির মানCONSENTসেট করুন। এই ফিল্ডটি শুধুমাত্র সেইসব অনুরোধের ক্ষেত্রে প্রযোজ্য যেগুলিতে রিসোর্স প্যারামিটার অন্তর্ভুক্ত থাকে। - আপনি ঐচ্ছিকভাবে বিটম্যাপ "OR" (
|) অপারেটর ব্যবহার করেAuthorizationRequest.Promptফিল্ডটিকেওSELECT_ACCOUNTএ সেট করতে পারেন, যাতে সম্মতির অনুরোধটি দেখানোর আগেই ব্যবহারকারী একটি অ্যাকাউন্ট নির্বাচন করতে পারেন।
গুগল পিকারকে কল করুন
ডেস্কটপ অ্যাপের মতোই, আপনি বেশ কিছু ঐচ্ছিক প্যারামিটার দিয়ে গুগল পিকার কাস্টমাইজ করতে পারেন:
-
PICKER_ALLOW_MULTIPLE: ব্যবহারকারীদের একাধিক ফাইল নির্বাচন করার অনুমতি দেয়। -
PICKER_MIMETYPES: অনুসন্ধানের ফলাফল ফিল্টার করার জন্য MIME টাইপগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা প্রদান করে। এটি সেট করা না থাকলে, ভিউতে সকল MIME টাইপের ফাইল প্রদর্শিত হয়। -
PICKER_FILE_IDS: অনুসন্ধানের ফলাফল ফিল্টার করার জন্য ফাইল আইডিগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা প্রদান করে। এটি সেট করা না থাকলে, ভিউতে সমস্ত ফাইল প্রদর্শিত হয়।
ডেস্কটপ অ্যাপের ঐচ্ছিক প্যারামিটারগুলো সম্পর্কে আরও তথ্যের জন্য, ‘গুগল পিকার প্রদর্শন’ দেখুন।
ব্যবহারকারী অ্যাক্সেস মঞ্জুর করে প্রাসঙ্গিক ফাইলগুলো বাছাই করার পর, AuthorizationResult রিসোর্সের getTokenResponseParams অবজেক্টটি ফেরত দেওয়া হয়। যদি ব্যবহারকারী অ্যাক্সেস মঞ্জুর করে থাকেন, তবে এই অবজেক্টটিতে picked_file_ids ভ্যালুটি থাকে, যা হলো নির্বাচিত ফাইল আইডিগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা।