अनुमति देना

Developers एसडीएम एपीआई का इस्तेमाल करके, userकी तरफ़ से Google Nest डिवाइसों को देख सकता है और मैनेज कर सकता है. SDM API से इस बात की पुष्टि होती है कि user ऐक्सेस किए जा रहे डिवाइसों को मैनेज करता है. साथ ही, user ने हर डिवाइस के लक्षणों को पढ़ने या लिखने के लिएdeveloper को सहमति दी है औरdeveloper की हर सुविधा को ऐक्सेस करने की अनुमति दी गई है.

डिवाइस मैनेजमेंट के लिए एसडीएम एपीआई का इस्तेमाल करने के लिए,developer पहले userकी अनुमति लेना ज़रूरी है.

अनुमति देने की प्रक्रिया के बारे में कदम-दर-कदम निर्देश के लिए, Device Access 'आसानी से सीखें' गाइड का खाता अनुमति दें पेज देखें.

अनुमति देने से जुड़ी गड़बड़ियों को हल करने में मदद पाने के लिए, अनुमति से जुड़ी गड़बड़ियां देखें.

OAuth फ़्लो

एसडीएम एपीआई,user ऑथराइज़ेशन के लिए Google OAuth के तीन पैरों वाले फ़्लो का इस्तेमाल करता है:

  • जब a user Nest के डिवाइसों को मैनेज करने के लिए a developer अनुमति देता है, developer तो वहuser पीसीएम को भेजता है. userवह अपने Google खाते में लॉग इन करता है.
  • user पीसीएम में developerको देने की अनुमतियों को चुनता है.
  • user OAuth के ज़रिए सहमति देता है,developer ऑथराइज़ेशन कोड देने के बाद.
  • developer किसी ऐक्सेस टोकन को पाने के लिए, ऑथराइज़ेशन कोड का इस्तेमाल करता है.
  • developer डिवाइस मैनेजमेंट के लिए, SDM एपीआई को कॉल करने के लिए ऐक्सेस टोकन का इस्तेमाल करता है.

Google OAuth और सेट अप करने के तरीके के बारे में ज़्यादा जानने के लिए, OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना देखें.

पार्टनर कनेक्शन मैनेजर (पीसीएम)

PCM, एसडीएम एपीआई की मदद से उपलब्ध कराया जाता है. यह एक ऐसा व्यू है जो उन सभी स्ट्रक्चर, डिवाइस, और ऐक्सेस के विकल्पों की सूची बनाता है जोuser developerको दे सकते हैं. user यह चुनता है कि अनुमति देने की प्रक्रिया के दौरान, किस जानकारी का ऐक्सेस दिया जाना है. साथ ही, उसका ऐक्सेस भी बना रहता है.

PCM मैप में चुने गए विकल्पों को जायज़ ग्रुप में रखा गया है. ये उन विशेषताओं के संग्रह हैं जिन्हें developer के ऐक्सेस की अनुमति दी जाएगी. कुछ Trait ग्रुप एक साथ लिंक किए जाते हैं. यह इस बात पर निर्भर करता है किdeveloper किस तरह के इंटिग्रेशन के लिए userकी सुविधा दे रहा है. userसाथ ही, उन इंटिग्रेशन वाले ग्रुप को अनुमति देने के लिए, userलिंक की अनुमति देनी ज़रूरी है. ऐसा न होने पर, उपयोगकर्ता अपनी पसंद के हिसाब से, अलग-अलग ग्रुप में आए उन ग्रुप के लिए अनुमतियां दे सकता है जिन्हें अलग किया गया है.

PCM चालू करें

userके लिए PCM व्यू चालू करने के लिए, सामान्य 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
एसडीएम एपीआई का दायरा.
state ज़रूरी नहीं. अनुरोध के और कॉलबैक के बीच, स्थिति को बनाए रखने के लिए, developer क्लाइंट की तरफ़ से एक ओपेक वैल्यू.
linking_token GetToken कमांड से मिला, जोड़ने वाला टोकन.

PCM के यूआरएल का उदाहरण:

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 पैरामीटर के तौर पर, ऑथराइज़ेशन कोड दिखाया जाता है. ऐक्सेस कोड पाने के लिए इस कोड का इस्तेमाल करें.

पीसीएम को ऐक्सेस करते समय होने वाली किसी भी गड़बड़ी के लिए, पार्टनर कनेक्शन मैनेजर (पीसीएम) गड़बड़ी का रेफ़रंस देखें.

अपने ऐप्लिकेशन में पीसीएम जोड़ें

अपने ऐप्लिकेशन में, इस यूआरएल का इस्तेमाल करके PCM व्यू जोड़ें:

https://nestservices.google.com/partnerconnections

user लॉग इन होने पर, इस पेज पर उनके सभी लिंक किए गए Device Access developerके साथ-साथ अनुमतियां देने और निरस्त करने के लिए टॉगल करने के साथ सभी स्ट्रक्चर और डिवाइस की सूची भी दिखती है. user इस पेज से हर पार्टनर के हिसाब से तय किया गया पार्टनर कनेक्शन भी डिसकनेक्ट किया जा सकता है.

ऐसे ऐप्लिकेशन जिनकी पुष्टि नहीं की गई है

SDM API प्रतिबंधित दायरे का इस्तेमाल करता है. इसका मतलब है कि अनुमति के दौरान इस दायरे का इस्तेमाल करने वाले सभी ऐप्लिकेशन की "पुष्टि नहीं हुई है", जब तक कि OAuth API की पुष्टि पूरी नहीं हो जाती. निजी इस्तेमाल के लिए Device Access इस्तेमाल करते समय, OAuth एपीआई की पुष्टि करना ज़रूरी नहीं है.

आपको पुष्टि की प्रक्रिया के दौरान "Google ने इस ऐप्लिकेशन की पुष्टि नहीं की है" स्क्रीन दिख सकती है. यह तब दिखती है, जब Google Cloud में OAuth की सहमति वाली स्क्रीन पर आपके sdm.service स्कोप को कॉन्फ़िगर नहीं किया जाता है. इस स्क्रीन को बायपास करने के लिए, बेहतर विकल्प पर क्लिक करें. इसके बाद, प्रोजेक्ट के नाम पर जाएं (असुरक्षित) पर क्लिक करें.

ज़्यादा जानकारी के लिए, पुष्टि नहीं किया गया ऐप्लिकेशन स्क्रीन देखें.

ऐक्सेस टोकन

अनुमति वाले स्ट्रक्चर और डिवाइसों को मैनेज करने के लिए, एसडीएम एपीआई को किए जाने वाले सभी कॉल में, यूनीक ऐक्सेस टोकन का इस्तेमाल किया जाना चाहिए. यह ऐक्सेस, अनुमति देने के दौरान developer user मिलता है. ऐक्सेस टोकन कुछ समय के लिए ही होते हैं और ऐक्सेस जारी रखने के लिए उन्हें लगातार रीफ़्रेश करना पड़ता है.

a user बाद में, developer किसी स्ट्रक्चर या डिवाइस के ऐक्सेस को निरस्त करता है और ऐक्सेस टोकन की समयसीमा तुरंत खत्म हो जाती है. इसे रीफ़्रेश नहीं किया जा सकता और developer अब एसडीएम एपीआई को उस userकी ओर से कॉल नहीं कर पाएगा.

खाते की अनुमति निरस्त करना

किसी Google खाते का ऐक्सेस हटाने के कई तरीके हैं. खाते की अनुमतियों में बदलाव करने के लिए, पार्टनर कनेक्शन मैनेजर (पीसीएम) का इस्तेमाल करना चाहिए. ज़्यादा जानकारी के लिए, खाते की अनुमतियां बदलना देखें. इन तरीकों से भी ऐक्सेस टोकन को रद्द किया जा सकता है:

  1. उपयोगकर्ता https://myaccount.google.com/permissions पर जाकर, सदस्यता रद्द कर सकता है.

  2. डेवलपर, एंडपॉइंट को ऐक्सेस टोकन पास कर सकता है https://oauth2.googleapis.com/revoke. Google OAuth और टोकन निरस्त करने के बारे में ज़्यादा जानने के लिए, टोकन को निरस्त करना देखें.

एम्बेड किए गए वेबव्यू

ब्राउज़र के लिए तय की गई लाइब्रेरी में मौजूद Google OAuth अनुरोधों को, सुरक्षित ब्राउज़र की एक नई नीति के तहत प्रतिबंधित कर दिया जाता है. आम तौर पर, इन्हें एम्बेड किए गए वेबव्यू कहा जाता है. एम्बेड किए गए सभी वेबव्यू ब्लॉक कर दिए जाएंगे. एम्बेड की गई वेबव्यू लाइब्रेरी की वजह से समस्या होती है, क्योंकि वे किसी मुश्किल डेवलपर को Google में और उसके उपयोगकर्ताओं के बीच कम्यूनिकेशन में रुकावट डालने और उसे बदलने की अनुमति देती हैं. एम्बेड किए गए वेबव्यू से न सिर्फ़ आपके खाते की सुरक्षा पर असर पड़ता है, बल्कि आपके ऐप्लिकेशन की उपयोगिता पर भी असर पड़ सकता है.

अगर इस नीति का असर आपके खाते पर हुआ है, तो एम्बेड किए गए वेबव्यू में Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट में होने वाले सुरक्षा से जुड़े बदलावों के बारे में लेख पढ़ें.