যখন কোনো ব্যবহারকারী একটি ফাইল নির্বাচন করে Drive UI-এর "Open with" মেনু আইটেমটিতে ক্লিক করেন, তখন Drive ব্যবহারকারীকে "Configure a Drive UI integration" -এ সংজ্ঞায়িত সেই অ্যাপের Open URL-এ পুনঃনির্দেশিত করে।
আপনি যদি Drive UI ইন্টিগ্রেশন কনফিগার করার সময় "Importing" বক্সটি চেক করে থাকেন, তাহলে ব্যবহারকারী খোলার জন্য অ্যাপ-নির্দিষ্ট এবং Google Workspace ফাইলের একটি মিশ্রণ নির্বাচন করতে পারেন। আপনি যখন একটি Drive UI ইন্টিগ্রেশন কনফিগার করেন, তখন অ্যাপ-নির্দিষ্ট ফাইলগুলি "Default MIME types" এবং "Default file extensions" ফিল্ডে সংজ্ঞায়িত করা হয়, অন্যদিকে Google Workspace ফাইলগুলি "Secondary MIME types" এবং "Secondary file extensions" ফিল্ডে সংজ্ঞায়িত করা হয়।
ব্যবহারকারী যে প্রতিটি ফাইল খুলতে চান, Drive আপনার সংজ্ঞায়িত ডিফল্ট এবং সেকেন্ডারি MIME টাইপের সাথে সেটির MIME টাইপ মিলিয়ে দেখে:
'ডিফল্ট MIME টাইপস' ফিল্ডে সংজ্ঞায়িত MIME টাইপগুলির জন্য, ফাইল আইডি আপনার অ্যাপে পাঠানো হয়। অ্যাপ-নির্দিষ্ট ফাইলগুলি কীভাবে পরিচালনা করতে হয় সে সম্পর্কে তথ্যের জন্য, 'অ্যাপ-নির্দিষ্ট ডকুমেন্টের জন্য একটি ওপেন URL পরিচালনা করুন' দেখুন।
'সেকেন্ডারি MIME টাইপস' ফিল্ডে সংজ্ঞায়িত MIME টাইপগুলোর জন্য, ড্রাইভ UI একটি ডায়ালগ প্রদর্শন করে ব্যবহারকারীকে জিজ্ঞাসা করে যে গুগল ওয়ার্কস্পেস ফাইলটিকে কোন ফাইল টাইপে রূপান্তর করতে হবে। উদাহরণস্বরূপ, যদি আপনি ড্রাইভ UI-তে একটি গুগল ডক্স ফাইল নির্বাচন করেন এবং 'সেকেন্ডারি MIME টাইপস' ফিল্ডটি নির্দেশ করে যে আপনার অ্যাপ text/plain বা application/pdf সমর্থন করে, তাহলে ড্রাইভ UI ব্যবহারকারীকে জিজ্ঞাসা করে যে তারা প্লেইন টেক্সট নাকি PDF-এ রূপান্তর করতে চান।
Google Workspace ফাইলগুলি কীভাবে পরিচালনা করতে হয় সে সম্পর্কে তথ্যের জন্য, "Handle an Open URL for Google Workspace documents" দেখুন। Google Workspace ডকুমেন্ট এবং MIME টাইপ রূপান্তর ফরম্যাটের তালিকার জন্য, "Export MIME types for Google Workspace documents" দেখুন।
অ্যাপ-নির্দিষ্ট ডকুমেন্টের জন্য একটি ওপেন ইউআরএল পরিচালনা করুন
"ড্রাইভ UI ইন্টিগ্রেশন কনফিগার করুন" -এ যেমন উল্লেখ করা হয়েছে, আপনার অ্যাপ ফাইলটি খোলার জন্য প্রয়োজনীয় তথ্যসহ টেমপ্লেট ভেরিয়েবল গ্রহণ করে। আপনার অ্যাপ একটি state প্যারামিটারের মধ্যে ডিফল্ট টেমপ্লেট ভেরিয়েবলের একটি সেট গ্রহণ করে। একটি অ্যাপ-নির্দিষ্ট ওপেন ইউআরএল (Open URL)-এর জন্য ডিফল্ট state তথ্য হলো:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
এই আউটপুটে নিম্নলিখিত মানগুলি অন্তর্ভুক্ত রয়েছে:
- ID : মূল ফোল্ডারের আইডি।
- RESOURCE_KEYS : ফাইল আইডিগুলোর একটি JSON ডিকশনারি, যা তাদের নিজ নিজ রিসোর্স কী-এর সাথে ম্যাপ করা থাকে।
-
open: যে কাজটি করা হচ্ছে। ওপেন ইউআরএল ব্যবহার করার সময় এর মানopenহয়। - USER_ID : প্রোফাইল আইডি যা ব্যবহারকারীকে অনন্যভাবে শনাক্ত করে।
আপনার অ্যাপকে অবশ্যই নিম্নলিখিত ধাপগুলো অনুসরণ করে এই অনুরোধটির ওপর কাজ করতে হবে:
- যাচাই করুন যে '
action' ফিল্ডের মানopenএবংidsফিল্ডটি উপস্থিত আছে। - ব্যবহারকারীর জন্য একটি নতুন সেশন তৈরি করতে
userIdভ্যালুটি ব্যবহার করুন। সাইন-ইন করা ব্যবহারকারীদের সম্পর্কে আরও তথ্যের জন্য, ব্যবহারকারী ও নতুন ইভেন্টসমূহ দেখুন। -
IDভ্যালু ব্যবহার করে পারমিশন চেক করতে, ফাইলের মেটাডেটা আনতে এবং ফাইলের কন্টেন্ট ডাউনলোড করতেfiles.getমেথডটি ব্যবহার করুন। - অনুরোধে
resourceKeysসেট করা থাকলে,X-Goog-Drive-Resource-Keysঅনুরোধ হেডারটি সেট করুন। রিসোর্স কী সম্পর্কে আরও তথ্যের জন্য, রিসোর্স কী ব্যবহার করে লিঙ্ক-শেয়ার করা ফাইল অ্যাক্সেস করুন দেখুন।
state প্যারামিটারটি ইউআরএল-এনকোডেড, তাই আপনার অ্যাপকে অবশ্যই এস্কেপ ক্যারেক্টারগুলো হ্যান্ডেল করতে হবে এবং এটিকে JSON হিসেবে পার্স করতে হবে।
গুগল ওয়ার্কস্পেস ডকুমেন্টের জন্য একটি ওপেন ইউআরএল পরিচালনা করুন
"ড্রাইভ UI ইন্টিগ্রেশন কনফিগার করুন" -এ যেমন উল্লেখ করা হয়েছে, আপনার অ্যাপ একটি state প্যারামিটারের মধ্যে টেমপ্লেট ভেরিয়েবলের একটি ডিফল্ট সেট গ্রহণ করে। একটি গুগল ওয়ার্কস্পেস ওপেন ইউআরএল-এর জন্য ডিফল্ট state তথ্য হলো:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
এই আউটপুটে নিম্নলিখিত মানগুলি অন্তর্ভুক্ত রয়েছে:
- EXPORT_ID : এক্সপোর্ট করা হচ্ছে এমন ফাইল আইডিগুলোর একটি কমা-দ্বারা-বিভক্ত তালিকা। শুধুমাত্র গুগল ওয়ার্কস্পেস ফাইল খোলার সময় ব্যবহৃত হয়।
- RESOURCE_KEYS : ফাইল আইডিগুলোর একটি JSON ডিকশনারি, যা তাদের নিজ নিজ রিসোর্স কী-এর সাথে ম্যাপ করা থাকে।
-
open: যে কাজটি করা হচ্ছে। ওপেন ইউআরএল ব্যবহার করার সময় এর মানopenহয়। - USER_ID : প্রোফাইল আইডি যা ব্যবহারকারীকে শনাক্ত করে।
আপনার অ্যাপকে অবশ্যই নিম্নলিখিত ধাপগুলো অনুসরণ করে এই অনুরোধটির ওপর কাজ করতে হবে:
stateফিল্ডেopenভ্যালু এবংexportIdsফিল্ডের উপস্থিতি উভয়ই শনাক্ত করার মাধ্যমে যাচাই করুন যে এটি একটি ফাইল খোলার অনুরোধ।পারমিশন চেক করতে, ফাইলের মেটাডেটা আনতে এবং
EXPORT_IDভ্যালু ব্যবহার করে MIME টাইপ নির্ধারণ করতেfiles.getমেথডটি ব্যবহার করুন।files.exportমেথড ব্যবহার করে ফাইলের বিষয়বস্তু রূপান্তর করুন। নিচের কোড নমুনাটিতে দেখানো হয়েছে কিভাবে একটি গুগল ওয়ার্কস্পেস ডকুমেন্টকে অনুরোধকৃত MIME টাইপে এক্সপোর্ট করতে হয়।অনুরোধে
resourceKeyসেট করা থাকলে,X-Goog-Drive-Resource-Keysঅনুরোধ হেডারটি সেট করুন। রিসোর্স কী সম্পর্কে আরও তথ্যের জন্য, রিসোর্স কী ব্যবহার করে লিঙ্ক-শেয়ার করা ফাইল অ্যাক্সেস করুন দেখুন।জাভা
পাইথন
নোড.জেএস
পিএইচপি
রূপান্তরিত ফাইলগুলিকে শুধুমাত্র পঠনযোগ্য (read-only) হিসেবে প্রদর্শন করুন অথবা ব্যবহারকারীকে নতুন ফাইল টাইপ হিসেবে ফাইলটি সংরক্ষণ করার জন্য একটি ডায়ালগ বক্স দেখান।
state প্যারামিটারটি ইউআরএল-এনকোডেড, তাই আপনার অ্যাপকে অবশ্যই এস্কেপ ক্যারেক্টারগুলো হ্যান্ডেল করতে হবে এবং এটিকে JSON হিসেবে পার্স করতে হবে।
ব্যবহারকারী এবং নতুন ইভেন্ট
ড্রাইভ অ্যাপগুলোর উচিত সমস্ত "ওপেন উইথ" ইভেন্টকে সম্ভাব্য সাইন-ইন হিসেবে বিবেচনা করা। কিছু ব্যবহারকারীর একাধিক অ্যাকাউন্ট থাকতে পারে, তাই state প্যারামিটারে থাকা ইউজার আইডি বর্তমান সেশনের সাথে নাও মিলতে পারে। যদি state প্যারামিটারে থাকা ইউজার আইডি বর্তমান সেশনের সাথে না মেলে, তাহলে আপনার অ্যাপের জন্য বর্তমান সেশনটি শেষ করুন এবং অনুরোধ করা ব্যবহারকারী হিসেবে সাইন ইন করুন।
সম্পর্কিত বিষয়
গুগল ড্রাইভ UI থেকে কোনো অ্যাপ্লিকেশন খোলার পাশাপাশি, অ্যাপ্লিকেশনগুলো অ্যাপের ভেতর থেকে কন্টেন্ট বাছাই করার জন্য একটি ফাইল পিকার প্রদর্শন করতে পারে। আরও তথ্যের জন্য, গুগল পিকার দেখুন।