Developer, SDM API का इस्तेमाल करके userकी ओर से Google Nest डिवाइसों को देख सकते हैं और उन्हें मैनेज कर सकते हैं. SDM API यह पुष्टि करता है कि user , ऐक्सेस किए जा रहे डिवाइसों को मैनेज करता है. साथ ही, यह भी पुष्टि करता है कि user नेdeveloper को हर डिवाइस की विशेषताओं को पढ़ने या लिखने की अनुमति दी है. इसके अलावा, यह भी पुष्टि करता है किdeveloper को हर विशेषता को ऐक्सेस करने के लिए, भरोसेमंद सूची में शामिल किया गया है.
डिवाइस मैनेजमेंट के लिए SDM API का इस्तेमाल करने से पहले,developer को userसे अनुमति लेनी होगी.
अनुमति देने की प्रोसेस के बारे में जानने के लिए, Device Access आसानी से सीखें गाइड के किसी खाते को अनुमति देना पेज पर जाएं.
अनुमति से जुड़ी गड़बड़ियों को ठीक करने के बारे में मदद पाने के लिए, अनुमति से जुड़ी गड़बड़ियां लेख पढ़ें.
OAuth फ़्लो
SDM API,user अनुमति देने के लिए, तीन चरणों वाले Google OAuth फ़्लो का इस्तेमाल करता है:
- जब a user को Nest डिवाइसों को मैनेज करने के लिए a developer को अनुमति देनी होती है, तब developer , पीसीएम कोuser भेजता है. इसके बाद, userअपने Google खाते में लॉग इन करता है.
- यह user , पीसीएम में developerके लिए अनुमतियां चुनता है.
- user OAuth के ज़रिए सहमति देता है. इससेdeveloper को ऑथराइज़ेशन कोड मिलता है.
- developer , ऑथराइज़ेशन कोड का इस्तेमाल करके ऐक्सेस टोकन वापस पाता है.
- developer डिवाइस मैनेजमेंट के लिए, SDM API को कॉल करने के लिए ऐक्सेस टोकन का इस्तेमाल करता है.
Google OAuth और इसे सेट अप करने के तरीके के बारे में ज़्यादा जानने के लिए, OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना लेख पढ़ें.
पार्टनर कनेक्शन मैनेजर (पीसीएम)
पीसीएम, SDM API उपलब्ध कराता है. यह एक ऐसा व्यू है जिसमें उन सभी स्ट्रक्चर, डिवाइसों, और ऐक्सेस के विकल्पों की सूची होती है जिन्हेंuser , developerको दे सकता है. userयह तय करता है कि अनुमति देने की प्रोसेस के दौरान, किस जानकारी का ऐक्सेस देना है. साथ ही, वह इस ऐक्सेस को कंट्रोल करता है.
पीसीएम में चुने गए विकल्प, ट्रेट ग्रुप से मैप होते हैं. ये ट्रेट ग्रुप, ट्रेट के ऐसे कलेक्शन होते हैं जिनका ऐक्सेस developer को दिया जाएगा. कुछ ट्रेट ग्रुप एक-दूसरे से लिंक होते हैं. यह इस बात पर निर्भर करता है किdeveloper , userको किस तरह का इंटिग्रेशन ऑफ़र कर रहा है. साथ ही, userको लिंक किए गए उन ट्रेट ग्रुप के लिए अनुमतियां देनी होंगी, ताकि उस इंटिग्रेशन को चालू किया जा सके. इसके अलावा, उपयोगकर्ता के पास यह विकल्प होता है कि वह अपनी ज़रूरत के हिसाब से, अलग-अलग और अनलिंक किए गए ट्रेट ग्रुप के लिए अनुमतियां दे.
पीसीएम चालू करना
किसी userके लिए पीसीएम व्यू चालू करने के लिए, Google API के स्टैंडर्ड OAuth 2.0 एंडपॉइंट को अनुमति के अनुरोध के लिए, इस नए OAuth एंडपॉइंट से बदलें:
https://nestservices.google.com/partnerconnections/project-id/authयूआरएल में इन पैरामीटर का इस्तेमाल करें:
| पैरामीटर | ब्यौरा |
|---|---|
redirect_uri |
यह यूआरआई, पुष्टि हो जाने के बाद user को रीडायरेक्ट करता है. |
client_id |
आपके Google Cloud प्रोजेक्ट का OAuth 2.0 क्लाइंट आईडी. पक्का करें कि यह वही ईमेल पता हो जो आपके Project आईडी से जुड़ा है. ध्यान दें कि OAuth क्लाइंट आईडी, projectके लिए मान्य और यूनीक होना चाहिए. इसे अन्य projectके साथ शेयर नहीं किया जा सकता. |
access_type |
इस्तेमाल की जाने वाली वैल्यू: offline |
prompt |
इस्तेमाल की जाने वाली वैल्यू: consent |
response_type |
इस्तेमाल की जाने वाली वैल्यू: codeबदले में, अनुमति देने वाला कोड ज़रूरी है. |
scope |
इस्तेमाल की जाने वाली वैल्यू: https://www.googleapis.com/auth/sdm.service
SDM API का स्कोप. |
state |
ज़रूरी नहीं. यह एक अपारदर्शी वैल्यू है. इसका इस्तेमाल developer क्लाइंट, अनुरोध और कॉलबैक के बीच की स्थिति को बनाए रखने के लिए करता है. |
पीसीएम यूआरएल का उदाहरण:
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 पैरामीटर के तौर पर ऑथराइज़ेशन कोड वापस कर दिया जाता है. ऐक्सेस टोकन पाने के लिए, इस कोड का इस्तेमाल करें.
अपने ऐप्लिकेशन में पीसीएम जोड़ना
अपने ऐप्लिकेशन में, इस यूआरएल का इस्तेमाल करके पीसीएम व्यू जोड़ें:
https://nestservices.google.com/partnerconnectionsजब user लॉग इन होता है, तब इस पेज पर उसके लिंक किए गए सभीDevice Access developerदिखते हैं. साथ ही, सभी स्ट्रक्चर और डिवाइसों की सूची भी दिखती है. इसमें अनुमतियां देने और वापस लेने के लिए टॉगल होते हैं. इस पेज पर जाकर, user हर पार्टनर के हिसाब से, पार्टनर कनेक्शन को डिसकनेक्ट भी कर सकता है.
ऐसे ऐप्लिकेशन जिनकी पुष्टि नहीं की गई है
SDM API, सीमित स्कोप का इस्तेमाल करता है. इसका मतलब है कि अनुमति देने के दौरान इस स्कोप का इस्तेमाल करने वाले सभी ऐप्लिकेशन "बिना पुष्टि वाले" होंगे. ऐसा तब तक होगा, जब तक OAuth API की पुष्टि पूरी नहीं हो जाती. निजी इस्तेमाल के लिए Device Access का इस्तेमाल करते समय, OAuth API की पुष्टि करना ज़रूरी नहीं है.
अनुमति देने की प्रोसेस के दौरान, आपको "Google ने इस ऐप्लिकेशन की पुष्टि नहीं की है" स्क्रीन दिख सकती है. यह स्क्रीन तब दिखती है, जब Google Cloud में आपकी OAuth सहमति स्क्रीन पर sdm.service स्कोप कॉन्फ़िगर नहीं किया गया होता है. इस स्क्रीन को बायपास किया जा सकता है. इसके लिए, ऐडवांस विकल्प पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम (सुरक्षित नहीं है) पर जाएं पर क्लिक करें.
ज़्यादा जानकारी के लिए, पुष्टि नहीं की गई ऐप्लिकेशन स्क्रीन देखें.
ऐक्सेस टोकन
अनुमति वाले स्ट्रक्चर और डिवाइसों को मैनेज करने के लिए, SDM API को किए गए सभी कॉल में, developer से मिले यूनीक ऐक्सेस टोकन का इस्तेमाल करना होगा. यह टोकन, अनुमति देने के दौरानuser को मिलता है. ऐक्सेस टोकन की वैधता कम समय के लिए होती है. इसलिए, ऐक्सेस बनाए रखने के लिए, इन्हें समय-समय पर रीफ़्रेश करना ज़रूरी है.
अगर a user बाद में किसी स्ट्रक्चर या डिवाइस का ऐक्सेस रद्द कर देता है developer , तो ऐक्सेस टोकन तुरंत खत्म हो जाता है और उसे रीफ़्रेश नहीं किया जा सकता. साथ ही,developer उस userकी ओर से SDM API को कॉल नहीं कर पाएगा.
खाते को ऐक्सेस करने की अनुमति रद्द करना
किसी Google खाते से अनुमति हटाने के कई तरीके हैं. हमारा सुझाव है कि उपयोगकर्ता, Partner Connections Manager (PCM) का इस्तेमाल करके खाते की अनुमतियों में बदलाव करे. ज़्यादा जानकारी के लिए, खाते की अनुमतियां बदलना लेख पढ़ें. ऐक्सेस टोकन को इन तरीकों से भी रद्द किया जा सकता है:
उपयोगकर्ता, https://myaccount.google.com/permissions पर जाकर सहमति वापस ले सकता है.
डेवलपर, ऐक्सेस टोकन को
https://oauth2.googleapis.com/revokeएंडपॉइंट पर भेज सकता है. Google OAuth और टोकन वापस लेने के बारे में ज़्यादा जानने के लिए, टोकन वापस लेना लेख पढ़ें.
एम्बेड किए गए वेबव्यू
सुरक्षित ब्राउज़र से जुड़ी नई नीति के तहत, एम्बेड किए गए ब्राउज़र लाइब्रेरी में Google OAuth के अनुरोधों पर पाबंदी लगाई गई है. इन्हें आम तौर पर एम्बेड किए गए वेबव्यू कहा जाता है. सभी एम्बेड किए गए वेबव्यू ब्लॉक कर दिए जाएंगे. एम्बेड की गई वेबव्यू लाइब्रेरी में समस्याएं होती हैं. ऐसा इसलिए, क्योंकि ये किसी बुरे डेवलपर को Google और उसके उपयोगकर्ताओं के बीच हुई बातचीत को रोकने और उसमें बदलाव करने की अनुमति देती हैं. एम्बेड किए गए वेबव्यू से, खाते की सुरक्षा पर ही नहीं, बल्कि आपके ऐप्लिकेशन के इस्तेमाल पर भी असर पड़ सकता है.
अगर इस नीति का असर आपके ऐप्लिकेशन पर पड़ा है, तो सहायता लेख एम्बेड किए गए वेबव्यू में, Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट से जुड़े सुरक्षा में होने वाले बदलाव पढ़ें.