Notice: We're retiring Works with Nest. See the home page for more information.
Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

인증 참조

인증 코드 요청

요청 유형에 따라 다른 코드 길이와 TTL (Time-to-Live) 값을 구현합니다.

흐름 TTL 코드 길이
편물 10 분 16 자
48 시간 8 자

매개 변수

Nest API에서 지원되는 인증 매개 변수는 다음과 같습니다.

이름 유형 필수 기술
client_id OAuth 클라이언트 페이지에서 사용 가능합니다.
redirect_uri 아니 클라이언트에 대해 다중 경로 재 지정 URI가 구성된 경우이를 사용하여 원하는 경로 재 지정 URI를 지정하십시오. 기본 리디렉션 URI를 사용하려면 생략하십시오.

redirect_uri 매개 변수 자체 내에 다른 매개 변수를 포함 하지 마십시오 . 클라이언트에 대해 구성된 리디렉션 URI와 정확히 일치해야합니다.
state CSRF 공격 을 막기 위해 추측 할 수없는 값을 지정하려면 이것을 사용하십시오. 그렇지 않으면 기본값 STATE 사용하십시오.

PIN 기반 인증 오류 메시지

PIN 기반 인증 코드 요청 중에 사용자에게 다음 오류 메시지가 표시 될 수 있습니다.

사용자 오류 메시지 설명
클라이언트 ID 또는 상태 매개 변수가 누락되었습니다. 권한 부여 URL에 client_id 또는 state 매개 변수가 없거나 둘 다 없습니다. 전달 된 인증 URL이 완전하고 정확한지 확인하십시오.
죄송합니다! 오류가 발생했습니다. 다시 시도하십시오. 이 오류는 다음에서 발생합니다.
  • Nest 서비스 가 다운되었습니다. Nest 서비스가 복원 될 때까지 기다리십시오.
  • 주어진 client_id 대한 클라이언트가 없습니다. 전달 된 권한 부여 URL이 올바른 client_id 사용하고 있는지 확인하십시오.
현재 회사 이름에 연결할 수 없습니다. 자세한 내용은 Nest에 문의하십시오. 클라이언트가 사용자 할당량을 초과했습니다. 더 많은 사용자를 추가하려면 검토를 위해 고객을 제출하십시오.

URI 기반 권한 부여 오류 응답 리디렉션

모든 응답에 대해 content-type : 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 OK 액세스 토큰이 반환됩니다. Nest 서비스 호출시 액세스 토큰을 사용하십시오. LONG은 토큰이 만료 될 때까지의 시간 (초)입니다. {
"access_token":"STRING",
"expires_in":LONG
}

액세스 토큰 수명

액세스 토큰은 실제로 만료되지 않기 때문에 새로 고침 토큰을 지원하지 않습니다. 웹 및 PIN 기반 인증 흐름에 대한 자세한 내용은 인증 개요 를 참조하십시오.

액세스 토큰 오류 응답

모든 응답에 대해 content-type : 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"
}
설명 올바른 매개 변수를 사용하고 있는지 확인하십시오. 매개 변수가 올 바르고 일부 권한 부여 방법에 대해서만 오류가 발생하는 경우 (예 : Curl을 사용하지 않고 Postman을 사용하여 권한 부여에 성공한 경우) 구문에 문제가있을 수 있습니다.

클라이언트가 비활성화 된 경우에도이 오류가 발생합니다.

고객 비밀번호를 찾을 수 없습니다

세부
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 매개 변수가 액세스 토큰 요청에 사용되었습니다.