Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

مرجع مجوز

درخواست کد مجوز

بسته به نوع درخواست ، طول کد های مختلف و مقادیر TTL (Time-to-Live) را پیاده سازی می کنیم:

جریان TTL طول کد
وب 10 دقیقه 16 کاراکتر
پین 48 ساعت 8 کاراکتر

مولفه های

پارامترهای مجوز پشتیبانی شده در Nest API عبارتند از:

نام تایپ کنید ضروری شرح
client_id رشته آره در صفحه OAuth Clients موجود است.
redirect_uri رشته نه اگر URI های تغییر مسیر چندگانه برای مشتری شما تنظیم شده است ، از این گزینه برای تعیین URI جهت گیری دلخواه استفاده کنید. برای استفاده از URI تغییر مسیر پیش فرض خود ، آن را رها کنید.

هنوز هر پارامتر دیگر در داخل را شامل نمی redirect_uri پارامتر خود را، آن را باید یک تغییر مسیر URI برای مشتری خود را پیکربندی دقیقا مطابقت.
state رشته آره برای مشخص کردن یک مقدار غیر قابل حدس برای مبارزه با حملات CSRF از این استفاده کنید. در غیر این صورت ، از مقدار پیش فرض STATE .

پیام های خطای مجوز مبتنی بر پین

پیام های خطای زیر می توانند در طی درخواست کد مجوز مبتنی بر PIN برای کاربران نمایش داده شوند:

پیام خطای کاربر توضیح
شناسه مشتری یا پارامترهای حالت موجود نیست. URL مجوز یا پارامتر client_id یا state یا هر دو را از دست نمی دهد. اطمینان حاصل کنید که آدرس مجوز تأیید شده کامل و دقیق است.
اوه! با خطایی روبرو شدیم. لطفا دوباره تلاش کنید. این خطا از موارد زیر رخ می دهد:
  • سرویس لانه خراب است. صبر کنید تا خدمات Nest بازگردد.
  • مشتری برای این client_id داده شده وجود ندارد. اطمینان حاصل کنید که نشانی اینترنتی مجوز تصویب شده با استفاده از صحیح 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 Clients موجود است.
client_secret رشته آره در صفحه مشتری OAuth موجود است. همچنین ممکن است کلید برنامه نامیده شود.
grant_type رشته آره باید این رشته باشد: authorization_code

واکنش

برای همه پاسخ ها ، نوع محتوا: application/json

کد وضعیت HTTP شرح بدن
200 خوب نشانه دسترسی بازگشت داده شده است. در تماس با سرویس Nest از نشانه دسترسی استفاده کنید. LONG تعداد ثانیه های زمان انقضاء توکن است. {
"access_token":"STRING",
"expires_in":LONG
}

دسترسی به طول عمر کد

ما از نشانه های تازه سازی پشتیبانی نمی کنیم ، زیرا نشانه های دسترسی به طور کامل غیرقابل انقضا هستند. مراجعه کنید بررسی اجمالی مجوز برای اطلاعات بیشتر در وب و جریان مجوز بر اساس PIN-.

به پاسخ های خطای نشانه دسترسی پیدا کنید

برای همه پاسخ ها ، نوع محتوا: 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 در درخواست توکن دسترسی استفاده شد.