التفويض

يمكن للDeveloperاستخدام واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management (إدارة الأجهزة الذكية) للاطّلاع على أجهزة Google Nest وإدارتها بالنيابة عن user. تتحقّق واجهة برمجة التطبيقات SDM API من أنّ user تدير الأجهزة التي يتم الوصول إليها، وأنّ user قد وافقت على developer قراءة سمات كل جهاز أو كتابتها، وأنّ developer قد تم إدراجها في القائمة البيضاء للوصول إلى كل سمة.

لاستخدام واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management لإدارة الأجهزة، يجب أن يحصلdeveloper أولاً على تفويض من user.

للحصول على شرح مفصّل لعملية التفويض، يُرجى الاطّلاع على صفحة تفويض حساب في Device Access دليل البدء السريع.

للحصول على مساعدة في تحديد أخطاء التفويض وحلّها، اطّلِع على أخطاء التفويض.

مسار OAuth

تستخدم واجهة برمجة التطبيقات SDM API مسار Google OAuth الثلاثي من أجل user التفويض:

  • عندما يريد a user تفويض a developer بإدارة أجهزة Nest، يرسل developer user إلى "مركز التحكّم في الأجهزة المنزلية" (PCM)، حيث سجّل user الدخول إلى حسابه على Google.
  • user يختار الأذونات التي سيتم منحها developer في PCM.
  • يقدّم user الموافقة من خلال OAuth، ما يمنح العميل developer رمز تفويض.
  • يستخدم developer رمز التفويض لاسترداد رمز الوصول.
  • يستخدم developer رمز الوصول مع طلبات إلى واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management لإدارة الأجهزة.

لمزيد من المعلومات عن Google OAuth وكيفية الإعداد، يُرجى الاطّلاع على مقالة استخدام OAuth 2.0 للوصول إلى Google APIs.

مدير علاقات الشركاء (PCM)

توفّر واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management ميزة "إدارة الطلبات". وهو عرض يسرد جميع الهياكل والأجهزة وخيارات الوصول التي يمكن لحساب user منحها لحساب developer. يختار user المستخدم ما يمكنه منحه إذن الوصول إليه أثناء عملية التفويض ويحتفظ بالسيطرة على هذا الوصول.

يتمّ ربط الخيارات التي يتمّ اختيارها في "شركاء المحتوى في خرائط Google" بمجموعات السمات، وهي مجموعات من السمات التي سيتمّ منح developer إذن الوصول إليها. يتم ربط بعض مجموعات السمات معًا، وذلك استنادًا إلى نوع الدمج الذي يوفّره developer لل user، ويجب أن يمنِح user أذونات لمجموعات السمات المرتبطة هذه لتفعيل عملية الدمج هذه. بخلاف ذلك، يمكن للمستخدم منح الأذونات لمجموعات السمات الفردية غير المرتبطة حسب الرغبة.

تفعيل PCM

لتفعيل عرض "إدارة الموافقة" لتطبيق user، استبدِل نقطة نهاية OAuth 2.0 العادية لواجهة برمجة التطبيقات من Google بنقطة نهاية OAuth الجديدة هذه لأجل طلب التفويض:

https://nestservices.google.com/partnerconnections/project-id/auth

استخدِم هذه المَعلمات في عنوان URL:

المَعلمة الوصف
redirect_uri عنوان URL لتوجيه user بعد إتمام عملية التفويض بنجاح.
client_id معرِّف عميل OAuth 2.0 من مشروعك على Google Cloud تأكَّد من أنّ هذا هو الرقم نفسه المرتبط بمعرّفك على Project . يُرجى العلم أنّ معرّف عميل OAuth يجب أن يكون صالحًا وفريدًا لحساب project، ولا يمكن مشاركته مع projectأخرى.
access_type القيمة المُستخدَمة: offline
prompt القيمة المُستخدَمة: consent
response_type القيمة المُستخدَمة: code
من المتوقّع أن يظهر رمز التفويض في الردّ.
scope القيمة المُستخدَمة: https://www.googleapis.com/auth/sdm.service
نطاق واجهة برمجة التطبيقات SDM API
state اختياري قيمة غير شفافة يستخدمها developer العميل للحفاظ على الحالة بين الطلب وطريقة الاستدعاء.

مثال على عنوان URL لملف 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 في معرّف الموارد المنتظم (URI) لإعادة التوجيه. استخدِم هذا الرمز للحصول على رمز وصول.

للحصول على مساعدة بشأن أي أخطاء تحدث عند الوصول إلى "أداة إدارة علاقات الشركاء"، يُرجى الاطّلاع على مرجع أخطاء "أداة إدارة علاقات الشركاء" (PCM).

إضافة ميزة "الدفع مقابل الاشتراك" إلى تطبيقك

في تطبيقك، أضِف عرض PCM باستخدام عنوان URL التالي:

https://nestservices.google.com/partnerconnections

عندما يكون user مسجّلاً الدخول، تعرض هذه الصفحة جميع Device Access developerالمرتبطة به، بالإضافة إلى قائمة بجميع الهياكل والأجهزة التي تتضمّن مفاتيح تبديل لمنح الأذونات وإبطالها. يمكن user أيضًا إلغاء ربط حساب شريك على أساس كل شريك من هذه الصفحة.

التطبيقات التي لم يتم التحقّق منها

تستخدم واجهة برمجة التطبيقات SDM API نطاقًا محظورًا، ما يعني أنّ أي تطبيقات تستخدم هذا النطاق أثناء التفويض ستكون "غير مؤكَّدة" ما لم يتم إكمال التحقّق من واجهة برمجة التطبيقات OAuth API. عند استخدام Device Access لأغراض شخصية، لا يلزم إكمال عملية التحقّق من واجهة برمجة التطبيقات عبر بروتوكول OAuth.

قد تظهر لك شاشة "لم تُثبِت Google صحة هذا التطبيق" أثناء عملية التفويض، والتي تظهر إذا لم يتم ضبط نطاق sdm.service في شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth في Google Cloud. يمكن تجاوز هذه الشاشة من خلال النقر على الخيار متقدم ثم النقر على الانتقال إلى اسم المشروع (غير آمن).

يمكنك الاطّلاع على شاشة التطبيق الذي لم يتم التحقّق منه لمزيد من المعلومات.

رموز الدخول

يجب أن تستخدم جميع طلبات البيانات إلى واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management لإدارة الهياكل المُفوَّضة والأجهزة رمز الوصول الفريد الذي منحه developer user أثناء التفويض. رموز الوصول المميّزة صالحة لفترة قصيرة ويجب إعادة تحميلها بانتظام لضمان استمرار إمكانية الوصول.

إذا a user أبطل developer userلاحقًا إمكانية الوصول إلى بنية أو جهاز، تنتهي صلاحية الرمز المميّز للوصول على الفور ولا يمكن إعادة تحميله، ولن يعود بإمكان developer الاستدعاء userواجهة برمجة التطبيقات SDM API بالنيابة عن user.

إبطال تفويض الحساب

هناك عدة طرق لإلغاء تفويض حساب Google. إنّ الطريقة المفضّلة هي استخدام "مدير اتصالات الشركاء" (PCM) من قِبل المستخدم لتعديل أذونات حساب العميل. يمكنك الاطّلاع على تعديل أذونات الحساب للحصول على مزيد من المعلومات. يمكن أيضًا إبطال رمز مميّز للدخول باستخدام الخطوات التالية:

  1. يمكن للمستخدم إلغاء الأذونات من خلال الانتقال إلى الرابط https://myaccount.google.com/permissions.

  2. يمكن للمطوّر تمرير رمز الوصول إلى نقطة النهاية https://oauth2.googleapis.com/revoke. للاطّلاع على مزيد من المعلومات عن Google OAuth وإبطال الرمز المميّز، يُرجى الاطّلاع على إبطال رمز مميّز.

مشاهدات الويب المضمّنة

تحظر سياسة المتصفّحات الآمنة الجديدة طلبات Google OAuth في مكتبات المتصفّح المضمّنة التي يُشار إليها عادةً باسم WebViews المضمّنة. سيتم حظر جميع عروض الويب المضمّنة. تُعدّ مكتبات WebView المضمّنة مشكلة لأنّها تسمح للمطوّر الشرير باعتراض الاتصالات بين Google ومستخدميها وتغييرها. لا تؤثّر مكوّنات WebView المضمّنة في أمان الحساب فقط، بل يمكن أن تؤثّر أيضًا في سهولة استخدام تطبيقك.

إذا كنت متأثرًا بهذه السياسة، يمكنك الرجوع إلى مقالة الدعم التي تتناول التغييرات الأمنية القادمة على نقطة نهاية التفويض في بروتوكول OAuth 2.0 من Google في مكتبات WebView المضمّنة.