গুগল হেলথ এপিআই-তে অ্যাক্সেস গুগল ক্লাউডের মাধ্যমে প্রদান করা হয়। এপিআই সক্রিয় করতে এবং একটি গুগল অ্যাকাউন্ট অনুমোদন করতে আপনার একটি গুগল ক্লাউড প্রজেক্ট প্রয়োজন হবে।
আপনি একজন বিদ্যমান Fitbit API ডেভেলপার হোন বা Google Health API-তে নতুন হোন, API-তে কল করার জন্য আপনাকে এই ধাপটি সম্পন্ন করতে হবে।
একটি প্রজেক্ট এবং একটি OAuth ক্লায়েন্ট তৈরি করুন
Google Health API সক্রিয় করতে এবং একটি OAuth 2.0 ক্লায়েন্ট আইডি পেতে “Enable the API and get an OAuth 2.0 Client ID” বাটনটি ব্যবহার করুন:
- আপনার যদি আগে থেকে কোনো গুগল ক্লাউড প্রজেক্ট থাকে যা আপনি গুগল হেলথ এপিআই-এর জন্য ব্যবহার করতে চান, তাহলে প্রথমে নিশ্চিত করুন যে আপনি সেই প্রজেক্টের অ্যাডমিনিস্ট্রেটর অ্যাকাউন্টে লগ ইন করেছেন। তারপর বোতামে ক্লিক করার পর উপলব্ধ প্রজেক্টের তালিকা থেকে বিদ্যমান প্রজেক্টটি নির্বাচন করুন। অন্যথায়, একটি নতুন প্রজেক্ট তৈরি করুন।
- "আপনি কোথা থেকে কল করছেন?" জিজ্ঞাসা করা হলে ওয়েব সার্ভার নির্বাচন করুন।
- অনুমোদিত রিডাইরেক্ট ইউআরআই (Authorized redirect URIs)- এর ভ্যালু হিসেবে https://www.google.com লিখুন। OAuth 2.0 ব্যবহার করে অথরাইজেশন কোড (Authorization Code) পেতে একটি রিডাইরেক্ট ইউআরআই প্রয়োজন।
- সেটআপ সম্পন্ন হলে, OAuth 2.0 ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট-এর মানগুলো কপি করুন এবং ক্রেডেনশিয়ালস JSON ফাইলটি আপনার স্থানীয় মেশিনে ডাউনলোড করুন ।
আপনি যদি আপনার গুগল ক্লাউড প্রজেক্ট ম্যানুয়ালি সেট আপ করতে চান, অথবা সেটআপটি যাচাই করে আপনার ক্রেডেনশিয়ালগুলো পুনরায় পুনরুদ্ধার করতে চান:
- এপিআই এনাবলমেন্ট পেজে গুগল হেলথ এপিআই সক্রিয় করুন।
- ক্রেডেনশিয়ালস পেজ থেকে একটি OAuth 2.0 ক্লায়েন্ট আইডি সংগ্রহ করুন।
গুগল কনসোল ব্যবহার করে OAuth 2.0 সেট আপ করার বিষয়ে আরও তথ্যের জন্য, “Using OAuth 2.0 to Access Google APIs” দেখুন।
পরীক্ষামূলক ব্যবহারকারী যোগ করুন
ডিফল্টরূপে, নতুন তৈরি করা OAuth ক্লায়েন্টগুলো যাচাইবিহীন অবস্থায় থাকে এবং টেস্টিং ও প্রোডাকশন উভয় কাজের জন্য এতে সর্বোচ্চ ১০০ জন ব্যবহারকারী থাকতে পারে। এই সময়কালে অনুমোদন সক্রিয় করতে, আপনাকে অবশ্যই আপনার প্রজেক্ট কনফিগারেশনের 'টেস্ট ইউজার্স' তালিকায় প্রতিটি ব্যবহারকারীর ইমেল ঠিকানা ম্যানুয়ালি যোগ করতে হবে।
অডিয়েন্স পেজে পরীক্ষামূলক ব্যবহারকারীদের তালিকা আপডেট করুন:
- এই পৃষ্ঠায়, আপনি দেখবেন "Publishing status"-এর মান "Testing " এবং "User type"-এর মান " External " সেট করা আছে।
- "টেস্ট ইউজার" বিভাগের অধীনে, "+ ইউজার যোগ করুন" -এ ক্লিক করুন। সেইসব টেস্ট ইউজারের ইমেল ঠিকানা লিখুন, যাদেরকে আপনার অ্যাপকে তাদের স্বাস্থ্য ডেটা অ্যাক্সেস করার অনুমতি দেওয়ার অনুমোদন দেওয়া উচিত।
- সংরক্ষণ করুন- এ ক্লিক করুন।
গুগল হেলথ এপিআই-এর মাধ্যমে ১০০ জনেরও বেশি ব্যবহারকারীকে সমর্থন করার জন্য একটি তৃতীয় পক্ষের নিরাপত্তা পর্যালোচনা সম্পন্ন করা প্রয়োজন। অতিরিক্ত তথ্য OAuth অ্যাপ ভেরিফিকেশন হেল্প সেন্টারে পাওয়া যাবে।
স্কোপ যোগ করুন
ডেটা অ্যাক্সেস পৃষ্ঠায় আপনাকে অবশ্যই সেই স্কোপগুলি নির্দিষ্ট করতে হবে যেগুলি আপনার ক্লায়েন্ট কল করতে পারবে:
- এই পৃষ্ঠায়, স্কোপ যোগ বা অপসারণ করুন-এ ক্লিক করুন।
- API কলামে 'Google Health API' লিখে অনুসন্ধান করুন। আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় স্কোপগুলো নির্বাচন করুন।
- আপনার প্রয়োজনীয় সমস্ত স্কোপ নির্বাচন করার পর, ডেটা অ্যাক্সেস পৃষ্ঠায় ফিরে যেতে আপডেট-এ ক্লিক করুন।
- সংরক্ষণ করুন- এ ক্লিক করুন।
আপনি আপনার ক্লায়েন্ট আইডি সেট আপ করা শেষ করেছেন এবং এখন গুগল হেলথ এপিআই-তে কল করতে পারবেন।
স্কোপ আপডেট করুন
আপনার অথেনটিকেশন রিকোয়েস্টে `prompt` প্যারামিটারটি `consent`-এ সেট করে আপনি ব্যবহারকারীকে আপনার অ্যাপের জন্য পুনরায় অনুমোদন চাইতে পারেন। যখন prompt=consent অন্তর্ভুক্ত করা হয়, তখন আপনার অ্যাপ যতবারই অ্যাক্সেসের স্কোপগুলোর অনুমোদনের জন্য অনুরোধ করবে, ততবারই কনসেন্ট স্ক্রিনটি প্রদর্শিত হবে, এমনকি যদি আপনার গুগল এপিআই প্রজেক্টকে পূর্বে সমস্ত স্কোপের অনুমতি দেওয়া হয়ে থাকে।
prompt=consent প্যারামিটার ব্যবহার করে স্কোপ যোগ বা পরিবর্তন করতে, এই ধাপগুলো অনুসরণ করুন:
আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় স্কোপগুলোর সম্পূর্ণ তালিকা শনাক্ত করুন। এই তালিকায় বিদ্যমান স্কোপ এবং আপনার যোগ করার প্রয়োজন এমন নতুন স্কোপ উভয়ই অন্তর্ভুক্ত থাকা উচিত।
স্পেস দ্বারা পৃথক করা স্কোপ ভ্যালুগুলোর হালনাগাদ করা তালিকা অন্তর্ভুক্ত করতে অথরাইজেশন URL-এর স্কোপ প্যারামিটারটি পরিবর্তন করুন।
আপনার অথেনটিকেশন ইউআরআই প্যারামিটারগুলোর সাথে
prompt=consentযুক্ত করুন। এর ফলে, আপনার ক্লায়েন্টকে তথ্য ফেরত পাঠানোর আগে অথরাইজেশন সার্ভার ব্যবহারকারীর কাছে অনুমতির জন্য জিজ্ঞাসা করতে বাধ্য হয়।নিম্নলিখিত উদাহরণটি Google-এর OAuth 2.0 অনুমোদন এন্ডপয়েন্টে একটি HTTPS GET অনুরোধ দেখাচ্ছে, যেখানে
prompt=consentযুক্ত করে একাধিক স্কোপের জন্য অনুরোধ করা হয়েছে:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
যখন ব্যবহারকারী আপডেট করা লিঙ্কটি অনুসরণ করবেন, তখন তাদের সামনে একটি সম্মতি পৃষ্ঠা আসবে যেখানে অনুরোধ করা সমস্ত স্কোপের তালিকা থাকবে। ব্যবহারকারী "চালিয়ে যান" বা "অনুমতি দিন" ক্লিক করার পর, আপনি একটি নতুন অনুমোদন কোড পাবেন যা সম্পূর্ণ স্কোপ সেট অন্তর্ভুক্ত টোকেনের জন্য বিনিময় করা যাবে।
শুধুমাত্র প্রয়োজন হলেই
prompt=consentঅন্তর্ভুক্ত করুন, যেমন যখন আপনার একটি নতুন রিফ্রেশ টোকেন পাওয়ার প্রয়োজন হয় অথবা যখন অনুরোধ করা স্কোপগুলি পরিবর্তিত হয়।
OAuth2 ক্লায়েন্ট লাইব্রেরি
জনপ্রিয় ফ্রেমওয়ার্কগুলির সাথে ইন্টিগ্রেট করার জন্য ব্যবহৃত উপলব্ধ OAuth2 ক্লায়েন্ট লাইব্রেরিগুলির তালিকা "Using OAuth 2.0 to Access Google APIs" -এ পাওয়া যাবে।
টোকেন রিফ্রেশ করুন
ব্যবহারকারীকে বারবার পুনঃপ্রমাণিত করার প্রয়োজন ছাড়াই গুগল এপিআই-তে দীর্ঘমেয়াদী অ্যাক্সেস বজায় রাখতে, আপনার অ্যাপ্লিকেশনটিকে অবশ্যই একটি রিফ্রেশ টোকেন ব্যবহার করতে হবে। প্রয়োজনীয় নির্দিষ্ট HTTP অনুরোধ এবং প্যারামিটার সহ এর বাস্তবায়নের বিস্তারিত তথ্যের জন্য, গুগল আইডেন্টিটি প্ল্যাটফর্মের ডকুমেন্টেশন দেখুন।
রিফ্রেশ টোকেনের বিনিময়ে অ্যাক্সেস টোকেন পেতে, গুগল OAuth 2.0 টোকেন এন্ডপয়েন্টে একটি HTTPS POST কল করুন। নিচের কোড স্নিপেটে একটি অনুরোধ এবং প্রতিক্রিয়ার উদাহরণ দেখানো হলো:
অনুরোধ
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
প্রতিক্রিয়া
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}পরীক্ষার সময় টোকেনের আচরণ
আপনার গুগল ক্লাউড প্রজেক্টের পাবলিশিং স্ট্যাটাসের উপর নির্ভর করে রিফ্রেশ টোকেনগুলো কীভাবে কাজ করে, সে বিষয়ে সচেতন থাকুন:
- টেস্টিং মোড: যদি আপনার OAuth কনসেন্ট স্ক্রিনটি "টেস্টিং" পাবলিশিং স্ট্যাটাস দিয়ে কনফিগার করা থাকে, তাহলে ইস্যু করা রিফ্রেশ টোকেনগুলো সময়-ভিত্তিক হয় এবং ৭ দিন পর মেয়াদোত্তীর্ণ হয়ে যায়। এই সময়কালে, আপনি একটিমাত্র রিফ্রেশ টোকেন পাবেন যা তার মেয়াদ শেষ না হওয়া পর্যন্ত নতুন অ্যাক্সেস টোকেন পাওয়ার জন্য বৈধ এবং ব্যবহারযোগ্য থাকবে।
- প্রকাশিত মোড: একবার আপনার অ্যাপটি "ইন প্রোডাকশন" স্ট্যাটাসে চলে গেলে, রিফ্রেশ টোকেনগুলির সাধারণত মেয়াদ শেষ হয় না, যদি না সেগুলি বাতিল করা হয় বা দীর্ঘ সময় ধরে (সাধারণত ছয় মাস) অব্যবহৃত থাকে।
ব্যবহারকারীদের নির্বিঘ্ন অভিজ্ঞতা নিশ্চিত করতে, ৭-দিনের টোকেন মেয়াদোত্তীর্ণ হওয়া এড়াতে আপনার অ্যাপ্লিকেশনটি প্রোডাকশন এনভায়রনমেন্টে স্থানান্তরের আগেই পাবলিশ করে নিন।
ক্রস-অ্যাকাউন্ট সুরক্ষা (RISC API)
ইভেন্ট টোকেন বা অ্যাকাউন্ট লিঙ্কিং-এর পরিবর্তন, যেমন সংযোগ বিচ্ছিন্ন হওয়া অ্যাকাউন্ট বা বাতিল হওয়া টোকেন সম্পর্কে অবহিত হতে, সংরক্ষিত টোকেন পরিষ্কার করতে এবং UI সংযোগের অবস্থা আপডেট করতে চাইলে রিস্ক অ্যান্ড ইনসিডেন্ট শেয়ারিং অ্যান্ড কোঅর্ডিনেশন (RISC) সক্ষম করুন। RISC API সক্ষম করা ঐচ্ছিক।
আপনার গুগল ক্লাউড প্রোজেক্টের জন্য RISC API সক্রিয় করতে:
- গুগল ক্লাউড কনসোলে RISC API পেজটি খুলুন। নিশ্চিত করুন যে আপনি গুগল হেলথ এপিআই (Google Health API)-এর জন্য যে প্রজেক্টটি ব্যবহার করেন, সেটি নির্বাচিত আছে।
- RISC-এর শর্তাবলী পড়ুন এবং এর প্রয়োজনীয়তাগুলো বুঝতে পেরেছেন কিনা তা নিশ্চিত করুন।
- আপনি শর্তাবলীতে সম্মত হলে সক্ষম করুন -এ ক্লিক করুন।
এপিআই সক্রিয় করার পর, গুগলের পাঠানো ইভেন্ট টোকেনগুলো গ্রহণ ও যাচাই করার জন্য আপনাকে অবশ্যই একটি HTTPS এন্ডপয়েন্ট তৈরি এবং নিবন্ধন করতে হবে।
ক্রস-অ্যাকাউন্ট প্রোটেকশন এবং RISC সম্পর্কে আরও তথ্যের জন্য, “ক্রস-অ্যাকাউন্ট প্রোটেকশন দিয়ে ব্যবহারকারীর অ্যাকাউন্ট সুরক্ষিত করুন” দেখুন।