تلتزم Google بتعزيز المساواة العرقية للمجتمعات السوداء. أنظر كيف.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

مرجع التفويض

طلب كود التفويض

اعتمادًا على نوع الطلب ، نقوم بتنفيذ أطوال مختلفة من الشفرات وقيم مدة البقاء (TTL):

تدفق TTL طول الرمز
الويب 10 دقائق 16 حرفًا
دبوس 48 ساعة 8 أحرف

المعلمات

معلمات المصادقة المدعومة في Nest API هي:

اسم نوع مطلوب وصف
client_id خيط نعم متاح في صفحة عملاء OAuth.
redirect_uri خيط لا استخدم هذا لتحديد عنوان URI المطلوب لإعادة التوجيه إذا تم تكوين عناوين URI متعددة لإعادة التوجيه لعميلك. احذفها لاستخدام عنوان URI الافتراضي لإعادة التوجيه.

لا تقم بتضمين أي معلمات أخرى داخل معلمة redirect_uri نفسها ، حيث يجب أن تتطابق مع عنوان URI لإعادة التوجيه الذي تم تكوينه لعميلك بالضبط.
state خيط نعم استخدم هذا لتحديد قيمة غير متوقعة لمكافحة هجمات CSRF . وإلا ، استخدم القيمة الافتراضية لـ STATE .

رسائل خطأ التفويض المستندة إلى رقم التعريف الشخصي

يمكن عرض رسائل الخطأ التالية للمستخدمين أثناء طلبات رمز التفويض المستندة إلى رقم التعريف الشخصي:

رسالة خطأ المستخدم تفسير
معرف العميل مفقود أو معلمات الحالة. يفتقد عنوان URL الخاص بالتفويض إما client_id أو معلمة state أو كليهما. تأكد من أن عنوان URL للتفويض الذي تم تمريره كامل ودقيق.
وجه الفتاة! لقد واجهنا خطأ. حاول مرة اخرى. يحدث هذا الخطأ مما يلي:
  • خدمة Nest معطلة. انتظر حتى يتم استعادة خدمة Nest.
  • لا يوجد عميل client_id المحدد. تأكد من أن عنوان URL للتفويض الذي تم تمريره يستخدم client_id الصحيح.
الاتصال باسم الشركة غير متاح حاليًا. يرجى الاتصال بـ Nest لمزيد من المعلومات. تجاوز العميل حصة المستخدم. أرسل عميلك للمراجعة لإضافة المزيد من المستخدمين.

إعادة توجيه استجابات خطأ المصادقة المستندة إلى URI

لجميع الردود ، نوع المحتوى: application/json .

المعلمات المطلوبة مفقودة

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
تفسير المعلمة المطلوبة ، PARAM_NAME ، مفقودة من طلب رمز التفويض.

redirect_uri غير مسجل مسبقًا

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
تفسير لا تتطابق المعلمة redirect_uri المستخدمة في طلب رمز الوصول المميز مع أي من عناوين URI لإعادة التوجيه التي تم تكوينها لعميلك.

طلب رمز الدخول

نوصيك بالامتثال لمعيار OAuth هذا ، الذي يوفر مزيدًا من الأمان من خلال تضمين بيانات اعتماد العميل في نص الطلب. ستستمر المكالمات التي تحتوي على بيانات اعتماد العميل في الرأس في العمل ، ولكن لا يوصى بها.

طلب رمز الدخول في شكل طلب HTTP POST.

المعلمات

اسم نوع مطلوب وصف
code خيط نعم رمز التفويض الذي يتم تمريره بعد موافقة العميل على منح تطبيقك حق الوصول إلى بيانات Nest. يتم توفير هذه القيمة من خلال طلب رمز التفويض الناجح.

تعرف على كيفية إعداد التفويض
client_id خيط نعم متاح في صفحة عملاء OAuth.
client_secret خيط نعم متاح في صفحة عملاء OAuth ؛ قد يُطلق عليه أيضًا مفتاح التطبيق.
grant_type خيط نعم يجب أن تكون هذه السلسلة: authorization_code

استجابة

لجميع الردود ، نوع المحتوى: application/json

رمز حالة HTTP وصف الجسم
200 حسنا تم إرجاع رمز الوصول. استخدم رمز الدخول في مكالمات خدمة Nest. LONG هو عدد الثواني حتى تنتهي صلاحية الرمز المميز. {
"access_token":"STRING",
"expires_in":LONG
}

عمر رمز الوصول

لا ندعم رموز التحديث ، لأن رموز الدخول لا تنتهي صلاحيتها فعليًا. راجع نظرة عامة على المصادقة للحصول على مزيد من المعلومات حول تدفق المصادقة المستندة إلى الويب ورقم التعريف الشخصي.

استجابات خطأ رمز الدخول

لجميع الردود ، نوع المحتوى: application/json .

انتهت صلاحية رمز التفويض

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
تفسير انتهت صلاحية رمز التفويض. مطلوب رمز تفويض جديد لطلب رمز وصول.

لم يتم العثور على رمز التفويض

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
تفسير معلمة code غير صالحة. تحقق من أنك تستخدم رمز التفويض الصحيح.

العميل غير نشط

تفاصيل
رمز حالة HTTP 403 ممنوع
الجسم {
"error":"client_not_active",
"error_description":"client is not active"
}
تفسير تحقق من أنك تستخدم المعلمات الصحيحة. إذا كانت المعلمات صحيحة ، وحدث الخطأ فقط لبعض طرق التفويض (على سبيل المثال ، التفويض ناجح باستخدام Postman ، ولكن ليس باستخدام Curl) ، فقد يكون هناك خطأ في بناء الجملة.

يحدث هذا الخطأ أيضًا إذا تم إلغاء تنشيط عميلك.

لم يتم العثور على سر العميل

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"oauth2_error",
"error_description":"client secret not found"
}
تفسير المعلمة client_secret غير صالحة. تحقق من أنك تستخدم قيمة client_secret الصحيحة.

المعلمات المطلوبة مفقودة

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
تفسير المعلمة المطلوبة ، PARAM_NAME ، مفقودة من طلب الرمز المميز للوصول.

redirect_uri غير مسموح به

تفاصيل
رمز حالة HTTP 400 طلب سىء
الجسم {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
تفسير تم استخدام المعلمة redirect_uri في طلب رمز الدخول.