অ্যাম্বিয়েন্ট API ব্যবহার শুরু করতে, Google API কনসোলে এপিআই সক্ষম করে এবং একটি OAuth 2.0 ক্লায়েন্ট আইডি সেট আপ করে আপনার প্রকল্প কনফিগার করুন। অ্যাম্বিয়েন্ট API টিভি এবং লিমিটেড-ইনপুট ডিভাইস অ্যাপ্লিকেশনগুলির জন্য OAuth 2.0 ব্যবহার করে৷
আপনার অ্যাপ্লিকেশানটি অ্যাম্বিয়েন্ট API ব্যবহারকারীর হয়ে অ্যাম্বিয়েন্ট API-এর সাথে ইন্টারঅ্যাক্ট করে৷ ব্যবহারকারী OAuth 2.0 প্রোটোকল ব্যবহার করে এই API অনুরোধগুলি অনুমোদন করে৷
OAuth 2.0 ক্লায়েন্ট আইডি আপনার অ্যাপ্লিকেশন ব্যবহারকারীদের সাইন ইন, প্রমাণীকরণ এবং এর মাধ্যমে অ্যাম্বিয়েন্ট API ব্যবহার করার অনুমতি দেয়। পরিবেষ্টিত API পরিষেবা অ্যাকাউন্ট সমর্থন করে না; এই APIগুলি ব্যবহার করতে, ব্যবহারকারীদের অবশ্যই একটি বৈধ Google অ্যাকাউন্টে সাইন ইন করতে হবে৷
আপনার অ্যাপ কনফিগার করুন
প্রথমে API সক্ষম করুন, তারপর একটি OAuth 2.0 ক্লায়েন্ট আইডি অনুরোধ করুন।
API সক্ষম করুন
অ্যাম্বিয়েন্ট API ব্যবহার করার আগে, আপনাকে অবশ্যই এটি আপনার প্রকল্পে সক্ষম করতে হবে।
- Google API কনসোলে যান।
- মেনু বার থেকে, একটি প্রকল্প নির্বাচন করুন বা একটি নতুন প্রকল্প তৈরি করুন৷
- Google Photos API এর একটি খুলতে, নেভিগেশন মেনু থেকে, APIs & Services > Library নির্বাচন করুন।
- "পরিবেষ্টিত API" অনুসন্ধান করুন। পরিবেষ্টিত API নির্বাচন করুন এবং সক্ষম করুন ক্লিক করুন।
একটি OAuth 2.0 ক্লায়েন্ট আইডি অনুরোধ করুন
একটি OAuth ক্লায়েন্ট আইডি অনুরোধ করতে এবং আপনার অ্যাপ্লিকেশনের জন্য এটি কনফিগার করতে এই পদক্ষেপগুলি অনুসরণ করুন৷ অ্যাম্বিয়েন্ট API টিভি এবং লিমিটেড-ইনপুট ডিভাইস অ্যাপ্লিকেশনগুলির জন্য OAuth 2.0 ব্যবহার করে৷
- Google API কনসোলে যান এবং আপনার প্রকল্প নির্বাচন করুন।
- মেনু থেকে, APIs & Services > Credentials নির্বাচন করুন।
শংসাপত্র পৃষ্ঠায়, শংসাপত্র তৈরি করুন > OAuth ক্লায়েন্ট আইডি ক্লিক করুন।
আপনার আবেদনের ধরন নির্বাচন করুন। এই উদাহরণে, অ্যাপ্লিকেশনের ধরন হল টিভি এবং লিমিটেড ইনপুট ডিভাইস ।
আপনার OAuth 2.0 ক্লায়েন্টের জন্য একটি নাম দিন এবং তৈরি করুন ক্লিক করুন।
ফলে OAuth ক্লায়েন্ট ডায়ালগ থেকে, নিম্নলিখিত অনুলিপি করুন:
- ক্লায়েন্ট আইডি
- ক্লায়েন্ট গোপন
আপনার অ্যাপ এই মানগুলি ব্যবহার করে সক্রিয় Google APIগুলি অ্যাক্সেস করতে পারে৷
অ্যাম্বিয়েন্ট API অ্যাক্সেস করে এমন একটি সর্বজনীন অ্যাপ্লিকেশন চালু করার আগে, আপনার অ্যাপটি অবশ্যই Google দ্বারা পর্যালোচনা করা উচিত। আপনি যখন আপনার আবেদন পরীক্ষা করেন তখন একটি "অযাচাই করা অ্যাপ" বার্তাটি স্ক্রিনে উপস্থিত হয়, যতক্ষণ না এটি যাচাই করা হয়৷
আপনি আপনার অ্যাপ কনফিগার করার পরে আপনি শুরু করার জন্য প্রস্তুত৷ আপনি নিম্নলিখিত সংস্থানগুলি অন্বেষণ করতে পারেন, বা অ্যাম্বিয়েন্ট API-এর জন্য সুবিন্যস্ত প্রমাণীকরণ প্রবাহ সম্পর্কে পড়তে পারেন৷
আপনার ক্লায়েন্ট আইডি পরিবর্তন
যেকোনও Google Photos API-এর মাধ্যমে তৈরি রিসোর্সগুলিকে তৈরি করতে ব্যবহৃত আসল ক্লায়েন্ট আইডি ব্যবহার করে শুধুমাত্র অ্যাক্সেস বা পরিবর্তন করা যেতে পারে। উদাহরণস্বরূপ, যদি আপনি একটি নির্দিষ্ট ক্লায়েন্ট আইডি সহ পিকার API-এ একটি session তৈরি করেন এবং পরে আপনার অ্যাপে সেই ক্লায়েন্ট আইডি পরিবর্তন করেন, তাহলে আপনার অ্যাপ আগের ক্লায়েন্ট আইডি দিয়ে তৈরি যেকোনও API সংস্থানগুলিতে অ্যাক্সেস হারাবে।
সাবধানে পরিকল্পনা করুন এবং আপনি যে ফটো এপিআই ব্যবহার করছেন তার জন্য সঠিক ক্লায়েন্ট আইডি টাইপ নির্বাচন করুন। অ্যাক্সেস সমস্যা এড়াতে একেবারে প্রয়োজন হলে শুধুমাত্র আপনার ক্লায়েন্ট আইডি পরিবর্তন করুন।
অ্যাম্বিয়েন্ট API-এর জন্য স্ট্রীমলাইনড প্রমাণীকরণ প্রবাহ
স্ট্যান্ডার্ড অ্যাম্বিয়েন্ট API প্রমাণীকরণ প্রবাহের জন্য আপনার ব্যবহারকারীদের 2টি QR কোড স্ক্যান করতে হবে:
- তাদের Google অ্যাকাউন্টে সাইন ইন করার প্রথমটি (যদি তারা ইতিমধ্যে সাইন ইন না করে থাকে)।
- একটি 2য় যা তাদের Google Photos অ্যাকাউন্টে নতুন তৈরি অ্যাম্বিয়েন্ট ডিভাইসের সাথে লিঙ্ক করে যেখানে তারা প্রদর্শনের জন্য মিডিয়া আইটেম নির্বাচন করতে পারে।
সুবিন্যস্ত প্রবাহ আপনাকে আপনার প্রাথমিক প্রমাণীকরণ কলের সাথে অতিরিক্ত state প্যারামিটার পাস করে আপনার ব্যবহারকারীদের একটি একক QR কোড প্রদান করতে দেয়।
সীমিত ইনপুট ডিভাইসের জন্য OAuth-এর অংশ হিসাবে ডিভাইস এবং ব্যবহারকারী কোডের অনুরোধ করার সময়, আপনার অনুরোধের সাথে অতিরিক্ত state প্যারামিটার অন্তর্ভুক্ত করুন। state প্যারামিটারে নিম্নলিখিত যোগ করুন:
| পরামিতি | |
|---|---|
requestId | প্রয়োজন। এই অনুরোধের জন্য একটি ক্লায়েন্ট-প্রদত্ত অনন্য শনাক্তকারী। এটি একটি নেটওয়ার্ক ব্যর্থতার ক্ষেত্রে রিসোর্স ডুপ্লিকেশন প্রশমিত করতে ব্যবহৃত হয়। এই আইডিতে অবশ্যই একটি UUID (সংস্করণ 4) স্ট্রিংয়ের ফর্ম্যাট থাকতে হবে এবং এই প্রয়োজনীয়তাগুলি অনুসরণ করুন:
|
displayName | ঐচ্ছিক। এই ডিভাইসের জন্য একটি ব্যবহারকারী-সংজ্ঞায়িত প্রদর্শন নাম। এটি Google Photos অ্যাপ সেটিংস থেকে ব্যবহারকারীদের কাছে দৃশ্যমান হবে কিন্তু শুধুমাত্র এই API এর মাধ্যমে সম্পাদনাযোগ্য। বৈধ প্রদর্শনের নাম 1 থেকে 100 অক্ষরের মধ্যে থাকতে হবে (অন্তর্ভুক্ত)। |
উদাহরণস্বরূপ, নিম্নলিখিত কোড ব্লক দেখুন:
const response = await fetch("https://oauth2.googleapis.com/device/code", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
client_id: config.clientId,
scope: "profile https://www.googleapis.com/auth/photosambient.mediaitems",
state: JSON.stringify({
'requestId': requestId,
'displayName': "My Device"
})
})
});
একটি সফল প্রতিক্রিয়াতে একটি user_code এবং একটি verification_url অন্তর্ভুক্ত থাকবে, যা আপনি ব্যবহারকারীকে দেখান (সম্ভবত একটি QR কোড হিসাবে) যাতে তারা সেখানে একটি পৃথক ডিভাইসে নেভিগেট করতে পারে৷ state প্যারামিটার অন্তর্ভুক্ত করে, যখন আপনি পরে অ্যাম্বিয়েন্ট এপিআই-এর সাথে createDevice কল করবেন, তখন আপনি settingsUri একটি দ্বিতীয় QR কোডে উপস্থাপন করা এড়িয়ে যেতে পারেন, কারণ OAuth প্রবাহের শেষ ধাপটি স্বয়ংক্রিয়ভাবে এই অবস্থানে পুনঃনির্দেশিত হবে।
সম্পূর্ণ বিবরণের জন্য আমরা আরও পুঙ্খানুপুঙ্খ ব্যাখ্যা অন্তর্ভুক্ত করেছি। আপনি আমাদের নমুনা অ্যাপে কোডটি পর্যালোচনা করতে পারেন, যেমন অ্যাম্বিয়েন্ট API সহ সীমিত ইনপুট ডিভাইসগুলির জন্য OAuth-এর অংশ হিসাবে state প্যারামিটার ব্যবহার করার জন্য।
সুবিন্যস্ত প্রমাণীকরণ প্রবাহ সম্পর্কে বিশদ বিবরণ
পরিবেষ্টিত API-এর জন্য সুবিন্যস্ত OAuth প্রবাহকে সম্পূর্ণরূপে বোঝার জন্য, এটি টিভির জন্য OAuth 2.0 এবং সীমিত-ইনপুট ডিভাইস অ্যাপ্লিকেশন প্রবাহের পাশাপাশি স্ট্যান্ডার্ড অ্যাম্বিয়েন্ট API প্রবাহ উভয়কেই বুঝতে সাহায্য করে। এখানে প্রতিটি প্রবাহের জন্য ধাপগুলি রয়েছে৷
টিভি এবং সীমিত-ইনপুট ডিভাইস অ্যাপ্লিকেশনের জন্য OAuth 2.0:
- আপনার অ্যাপ্লিকেশনটি Google-এর অনুমোদন সার্ভারে একটি অনুরোধ পাঠায় যা আপনার অ্যাপ্লিকেশনটি অ্যাক্সেসের অনুমতির অনুরোধ করবে এমন সুযোগগুলি সনাক্ত করে৷
- সার্ভার পরবর্তী ধাপে ব্যবহৃত বিভিন্ন তথ্যের সাথে সাড়া দেয়, যেমন একটি ডিভাইস কোড এবং একটি ব্যবহারকারী কোড।
- আপনি এমন তথ্য প্রদর্শন করেন যা ব্যবহারকারী আপনার অ্যাপকে অনুমোদন করার জন্য একটি পৃথক ডিভাইসে প্রবেশ করতে পারে।
- ব্যবহারকারী আপনার অ্যাপ অনুমোদন করেছে কিনা তা নির্ধারণ করতে আপনার অ্যাপ্লিকেশনটি Google-এর অনুমোদন সার্ভারে পোলিং শুরু করে৷
- ব্যবহারকারী আরও সমৃদ্ধ ইনপুট ক্ষমতা সহ একটি ডিভাইসে স্যুইচ করে, একটি ওয়েব ব্রাউজার চালু করে, ধাপ 3-এ প্রদর্শিত URL-এ নেভিগেট করে এবং একটি কোড প্রবেশ করে যা ধাপ 3-এও প্রদর্শিত হয়৷ ব্যবহারকারী তখন আপনার অ্যাপ্লিকেশনে অ্যাক্সেস মঞ্জুর (বা অস্বীকার) করতে পারে৷
- আপনার পোলিং অনুরোধের পরবর্তী প্রতিক্রিয়াতে ব্যবহারকারীর পক্ষ থেকে অনুরোধ অনুমোদন করার জন্য আপনার অ্যাপের প্রয়োজনীয় টোকেনগুলি রয়েছে৷ (যদি ব্যবহারকারী আপনার আবেদনে অ্যাক্সেস প্রত্যাখ্যান করে, প্রতিক্রিয়াটিতে টোকেন থাকে না।)
পরিবেষ্টিত API প্রবাহ:
- একটি বিদ্যমান OAuth টোকেন চেক করুন এবং হয় টোকেনটি রিফ্রেশ করুন বা একটি নতুন অনুরোধ করুন৷
- একটি OAuth টোকেন পাওয়ার পরে, একটি নতুন ডিভাইস তৈরি করুন৷
- ব্যবহারকারীর কাছে
settingsUriপ্রদর্শন করুন এবংmediaSourcesSetসত্য না হওয়া পর্যন্ত ডিভাইসটি পোল করা শুরু করুন৷ - ব্যবহারকারী
settingsUriনেভিগেট করে এবং আপনার অ্যাপ্লিকেশনের সাথে যে ফটোগুলি ভাগ করতে চান তা নির্বাচন করে৷ - একবার
mediaSourcesSetসত্য প্রত্যাবর্তন করে,mediaItemsতালিকা পুনরুদ্ধার করুন। - এখন আপনি আপনার স্লাইডশো বা অন্যান্য পরিবেষ্টিত অভিজ্ঞতা শুরু করতে পারেন।
উভয় প্রবাহের মধ্যে একটি ধাপ রয়েছে যেখানে আপনি আপনার ব্যবহারকারীর কাছে একটি URL প্রদর্শন করেন এবং আপনার ব্যবহারকারী তাদের সমৃদ্ধ ইনপুট ডিভাইসে সেখানে নেভিগেট করে। আপনার প্রাথমিক OAuth কলে state প্যারামিটার অন্তর্ভুক্ত করার মাধ্যমে, আপনি যে দ্বিতীয় URLটি প্রদর্শন করতে হবে তা এড়াতে পারেন।
এটি কাজ করে কারণ টিভি এবং সীমিত-ইনপুট ডিভাইস অ্যাপ্লিকেশন প্রবাহের জন্য OAuth 2.0 এর শেষ ধাপটি সাধারণত আপনার ব্যবহারকারীকে একটি পৃষ্ঠায় পুনঃনির্দেশ করে যেটি বলে যে "আপনি এখন আপনার ডিভাইসে ফিরে আসতে পারেন।" স্টেট প্যারামিটার অন্তর্ভুক্ত করে, প্রবাহের শেষ ধাপটি এখন আপনাকে settingsUri এ পুনঃনির্দেশিত করার চেষ্টা করবে। আপনার অ্যাপ এখনও একটি OAuth টোকেন পাবে। একই requestId ব্যবহার করে createDevice কল করতে আপনার এই টোকেনটি ব্যবহার করা উচিত। একই ID সহ একটি ডিভাইস তৈরি হয়ে গেলে, প্রাথমিক OAuth ফ্লো সফলভাবে আপনার ব্যবহারকারীকে ফটো অ্যাপের মধ্যে সমৃদ্ধ ডিভাইসের সঠিক পৃষ্ঠায় পুনঃনির্দেশ করবে।
নিম্নলিখিত পয়েন্ট মনে রাখবেন:
- প্রমাণীকরণের সাথে কোনও সমস্যা থাকলে
settingsUriপ্রদর্শন করা এখনও একটি ভাল ধারণা। - আপনি এখনও অন্যান্য ক্ষেত্রে
settingsUriব্যবহার করতে পারেন, যেমন একজন ব্যবহারকারী যখন তাদের ফটো নির্বাচন আপডেট করতে চান।