Developerব্যবহারকারীরা SDM API ব্যবহার করে অন্যের পক্ষ থেকে Google Nest ডিভাইসগুলো দেখতে ও পরিচালনা করতে পারেন। users. SDM API যাচাই করে যে user অ্যাক্সেস করা ডিভাইসগুলি পরিচালনা করে, যে user সম্মতি দিয়েছেdeveloper প্রতিটি ডিভাইসের বৈশিষ্ট্যগুলি পড়া বা লেখা, এবং যেdeveloper প্রতিটি বৈশিষ্ট্য ব্যবহারের জন্য তাকে শ্বেততালিকাভুক্ত করা হয়েছে।
ডিভাইস ব্যবস্থাপনার জন্য SDM API ব্যবহার করতে,developer প্রথমে অবশ্যই অনুমোদিত হতে হবে user.
অনুমোদন প্রক্রিয়ার বিস্তারিত বিবরণের জন্য, 'একটি অ্যাকাউন্ট অনুমোদন করুন ' পৃষ্ঠাটি দেখুন। Device Access দ্রুত শুরু করার নির্দেশিকা।
অনুমোদন সংক্রান্ত ত্রুটি সমাধানে সাহায্যের জন্য, অনুমোদন ত্রুটি (Authorization Errors) দেখুন।
OAuth প্রবাহ
SDM API এর জন্য একটি তিন-ধাপের Google OAuth ফ্লো ব্যবহার করেuser অনুমোদন:
- যখন a user অনুমোদন করতে ইচ্ছুক a developer নেস্ট ডিভাইসগুলির ব্যবস্থাপনার জন্য, developer পাঠায়user PCM-এ, যেখানে userতাদের গুগল অ্যাকাউন্টে লগ ইন করে।
- দ্য user মঞ্জুর করার জন্য অনুমতি নির্বাচন করে developerপিসিএম-এ।
- দ্য user OAuth-এর মাধ্যমে সম্মতি প্রদান করে, যা মঞ্জুর করেdeveloper একটি অনুমোদন কোড।
- দ্য developer অ্যাক্সেস টোকেন পুনরুদ্ধার করতে অনুমোদন কোডটি ব্যবহার করে।
- দ্য developer ডিভাইস ব্যবস্থাপনার জন্য SDM API-তে কল করার সময় অ্যাক্সেস টোকেন ব্যবহার করে।
Google OAuth সম্পর্কে আরও জানতে এবং এটি কীভাবে সেট আপ করতে হয় তা জানতে, “Using OAuth 2.0 to Access Google APIs” দেখুন।
পার্টনার কানেকশনস ম্যানেজার (পিসিএম)
PCM, SDM API দ্বারা সরবরাহ করা হয়। এটি এমন একটি ভিউ যা সমস্ত কাঠামো, ডিভাইস এবং অ্যাক্সেস বিকল্পগুলির তালিকা করে।user মঞ্জুর করতে পারে developer. userঅনুমোদন প্রক্রিয়ার সময় কাকে প্রবেশাধিকার দেওয়া হবে তা নির্ধারণ করে এবং সেই প্রবেশাধিকারের নিয়ন্ত্রণ নিজের কাছে রাখে।
PCM-এ নির্বাচিত বিকল্পগুলি বৈশিষ্ট্য গোষ্ঠীর সাথে সংযুক্ত হয়, যা হলো বৈশিষ্ট্যগুলির সংগ্রহ। developer প্রবেশাধিকার দেওয়া হবে। কিছু বৈশিষ্ট্য গোষ্ঠী একে অপরের সাথে সংযুক্ত থাকে, যা একীকরণের ধরনের উপর নির্ভর করে।developer প্রস্তাব দিচ্ছে userএবং userসেই ইন্টিগ্রেশনটি সক্ষম করতে অবশ্যই লিঙ্ক করা বৈশিষ্ট্য গ্রুপগুলির জন্য অনুমতি প্রদান করতে হবে। অন্যথায়, ব্যবহারকারী তার ইচ্ছামতো স্বতন্ত্র, অলিঙ্ক করা বৈশিষ্ট্য গ্রুপগুলির জন্য অনুমতি প্রদান করতে পারেন।
পিসিএম সক্রিয় করুন
একটির জন্য পিসিএম ভিউ সক্রিয় করতে userঅনুমোদন অনুরোধের জন্য, স্ট্যান্ডার্ড গুগল এপিআই OAuth 2.0 এন্ডপয়েন্টটি এই নতুন OAuth এন্ডপয়েন্ট দিয়ে প্রতিস্থাপন করুন:
https://nestservices.google.com/partnerconnections/project-id/authURL-এ এই প্যারামিটারগুলো ব্যবহার করুন:
| প্যারামিটার | বর্ণনা |
|---|---|
redirect_uri | URI নির্দেশ করতে user সফল অনুমোদনের পর। |
client_id | আপনার গুগল ক্লাউড প্রজেক্টের OAuth 2.0 ক্লায়েন্ট আইডি। নিশ্চিত করুন যে এটি আপনার সাথে যুক্ত আইডিটির মতোই। Project আইডি। মনে রাখবেন যে একটি OAuth ক্লায়েন্ট আইডি অবশ্যই বৈধ এবং অনন্য হতে হবে। projectএবং অন্যদের সাথে ভাগ করা যাবে না projectএস। |
access_type | ব্যবহারের মান: offline |
prompt | ব্যবহারের মান: consent |
response_type | ব্যবহারের জন্য মান: codeএর বিনিময়ে একটি অনুমোদন কোড প্রত্যাশিত। |
scope | ব্যবহারের জন্য মান: https://www.googleapis.com/auth/sdm.serviceSDM API-এর পরিধি। |
state | ঐচ্ছিক। একটি অস্বচ্ছ মান যা দ্বারা ব্যবহৃত হয় developer অনুরোধ এবং কলব্যাকের মধ্যে ক্লায়েন্টকে স্টেট বজায় রাখতে হবে। |
উদাহরণ PCM URL:
https://nestservices.google.com/partnerconnections/
2f6989ca-c756-4625-8cdc-d5b1edfb2dcd/auth?
redirect_uri=https://www.example.com/api/link/M258KP8OWYZDVQ&
client_id=418235700063-sdkiav89orn5r1nvrcr5t210qqjimq8l.apps.googleusercontent.com&
access_type=offline&
prompt=consent&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.service পরে user অনুমতি দিলে, রিডাইরেক্ট ইউআরআই-এর code প্যারামিটার হিসেবে একটি অথরাইজেশন কোড ফেরত দেওয়া হয়। অ্যাক্সেস টোকেন পেতে এই কোডটি ব্যবহার করুন।
আপনার অ্যাপে পিসিএম যোগ করুন
আপনার অ্যাপে এই URL ব্যবহার করে PCM ভিউটি যোগ করুন:
https://nestservices.google.com/partnerconnectionsযখন user লগ ইন করা থাকলে, এই পৃষ্ঠাটি তাদের সমস্ত লিঙ্ক দেখায়।Device Access developerসেইসাথে অনুমতি প্রদান ও প্রত্যাহার করার টগলসহ সমস্ত কাঠামো এবং ডিভাইসের একটি তালিকা। user এই পৃষ্ঠা থেকে অংশীদার-ভিত্তিক ভাবেও অংশীদার সংযোগ বিচ্ছিন্ন করা যেতে পারে।
যাচাইবিহীন অ্যাপ
SDM API একটি সীমাবদ্ধ স্কোপ ব্যবহার করে, যার অর্থ হলো OAuth API ভেরিফিকেশন সম্পন্ন না হওয়া পর্যন্ত, অথরাইজেশনের সময় এই স্কোপ ব্যবহারকারী যেকোনো অ্যাপ "আনভেরিফাইড" হিসেবে বিবেচিত হবে। Device Access ব্যক্তিগত ব্যবহারের জন্য OAuth API যাচাইকরণের প্রয়োজন নেই।
অনুমোদন প্রক্রিয়ার সময় আপনি "Google hasn't verified this app" স্ক্রিনটি দেখতে পারেন, যা Google Cloud-এর OAuth সম্মতি স্ক্রিনে sdm.service স্কোপটি কনফিগার করা না থাকলে প্রদর্শিত হয়। Advanced অপশনে ক্লিক করে এবং তারপরে Go to Project Name (unsafe)- এ ক্লিক করে এই স্ক্রিনটি এড়িয়ে যাওয়া যায়।
আরও তথ্যের জন্য যাচাইবিহীন অ্যাপ স্ক্রিনটি দেখুন।
অ্যাক্সেস টোকেন
অনুমোদিত কাঠামো এবং ডিভাইসগুলি পরিচালনা করার জন্য SDM API-তে করা সমস্ত কলে অবশ্যই প্রদত্ত অনন্য অ্যাক্সেস টোকেনটি ব্যবহার করতে হবে। developer দ্বারাuser অনুমোদনের সময়। অ্যাক্সেস টোকেনগুলো স্বল্পস্থায়ী এবং নিরবচ্ছিন্ন অ্যাক্সেস নিশ্চিত করতে এগুলো নিয়মিত রিফ্রেশ করতে হবে।
যদি a user পরে প্রত্যাহার করে developer কোনো কাঠামো বা ডিভাইসে প্রবেশের ক্ষেত্রে, অ্যাক্সেস টোকেনটির মেয়াদ অবিলম্বে শেষ হয়ে যায় এবং তা রিফ্রেশ করা যায় না, এবংdeveloper তার পক্ষ থেকে আর SDM API কল করা যাবে না। user.
অ্যাকাউন্টের অনুমোদন প্রত্যাহার করুন
একটি গুগল অ্যাকাউন্টকে ডিঅথরাইজ করার একাধিক উপায় রয়েছে। সবচেয়ে ভালো পদ্ধতি হলো, ব্যবহারকারী পার্টনার কানেকশনস ম্যানেজার (PCM) ব্যবহার করে অ্যাকাউন্টের অনুমতি পরিবর্তন করবেন। আরও তথ্যের জন্য ‘অ্যাকাউন্টের অনুমতি পরিবর্তন করুন’ দেখুন। এছাড়াও নিম্নলিখিত পদ্ধতিগুলোর মাধ্যমে একটি অ্যাক্সেস টোকেন বাতিল করা যেতে পারে:
ব্যবহারকারী https://myaccount.google.com/permissions -এ গিয়ে অনুমতি প্রত্যাহার করতে পারেন।
ডেভেলপার
https://oauth2.googleapis.com/revokeএন্ডপয়েন্টে অ্যাক্সেস টোকেনটি পাস করতে পারেন। গুগল OAuth এবং টোকেন বাতিলকরণ সম্পর্কে আরও জানতে, "একটি টোকেন বাতিল করা" দেখুন।
এমবেডেড ওয়েবভিউ
একটি নতুন সুরক্ষিত ব্রাউজার নীতি এমবেডেড ব্রাউজার লাইব্রেরিতে, যা সাধারণত এমবেডেড ওয়েবভিউ নামে পরিচিত, গুগল OAuth অনুরোধ নিষিদ্ধ করেছে। সমস্ত এমবেডেড ওয়েবভিউ ব্লক করা হবে। এমবেডেড ওয়েবভিউ লাইব্রেরিগুলো সমস্যাজনক, কারণ এগুলো একজন অসৎ ডেভেলপারকে গুগল এবং এর ব্যবহারকারীদের মধ্যেকার যোগাযোগে আড়ি পাততে এবং তা পরিবর্তন করতে সুযোগ করে দেয়। এমবেডেড ওয়েবভিউ শুধু অ্যাকাউন্টের নিরাপত্তাকেই প্রভাবিত করে না, এগুলো আপনার অ্যাপ্লিকেশনের ব্যবহারযোগ্যতাকেও প্রভাবিত করতে পারে।
আপনি যদি এই নীতির দ্বারা প্রভাবিত হন, তাহলে " Upcoming security changes to Google's OAuth 2.0 authorization endpoint in embedded webviews" সাপোর্ট আর্টিকেলটি দেখুন।