승인

Developer는 SDM API를 사용하여 를 대신하여 Google Nest 기기를 보고 관리할 수 있습니다. userSDM API는 액세스 중인 기기를 user 관리하고, 각 기기의 특성을 읽거나 쓰는 데developer 동의했으며, 각 특성에 액세스할 수 있도록developer 허용 목록에 추가되었는지 확인합니다. user

기기 관리에 SDM API를 사용하려면 developer 먼저가승인해야 합니다 user.

승인 절차에 관한 안내는 계정 승인 페이지의 Device Access 빠른 시작 가이드를 참고하세요.

승인 오류 문제 해결에 관한 도움말은 승인 오류를 참고하세요.

OAuth 흐름

SDM API는 승인을 위해 3-legged Google OAuth 흐름을 사용합니다. user

  • 가 Nest 기기 관리를 위해를 승인하려는 경우가 PCM에를 보냅니다. PCM에서가 Google 계정에 로그인합니다. a user a developer developer user user
  • PCM에서 developer 가에 부여할 권한을 선택합니다. user
  • 가 OAuth를 통해 동의를 제공하여 developer 에게 승인 코드를 부여합니다. user
  • 가 승인 코드를 사용하여 액세스 토큰을 검색합니다. developer
  • developer 가 기기 관리를 위해 SDM API를 호출할 때 액세스 토큰을 사용합니다.

Google OAuth 및 설정 방법에 관한 자세한 내용은 OAuth 2.0을 사용하여 Google API 액세스를 참고하세요.

파트너 연결 관리자 (PCM)

PCM은 SDM API에서 제공합니다. PCM은 가에게 부여할 수 있는 모든 구조, 기기, 액세스 옵션을 나열하는 뷰입니다. user developer는 승인 절차 중에 액세스 권한을 부여할 항목을 선택하고 해당 액세스 권한을 유지합니다. user

PCM에서 선택한 옵션은 액세스 권한을 부여받을 특성 모음인 특성 그룹에 매핑됩니다. developer 일부 특성 그룹은developer 가 user에게 제공하는 통합 유형에 따라 서로 연결되어 있으며, user가 해당 통합을 사용 설정하려면 연결된 특성 그룹에 대한 권한을 부여해야 합니다. 그렇지 않으면 사용자가 원하는 대로 연결되지 않은 개별 특성 그룹에 대한 권한을 부여할 수 있습니다.

PCM 사용 설정

의 PCM 뷰를 사용 설정하려면 user표준 Google API OAuth 2.0 엔드포인트를 승인 요청을 위한 이 새 OAuth 엔드포인트로 바꿉니다.

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

URL에서 다음 매개변수를 사용합니다.

매개변수 설명
redirect_uri 승인이 완료된 후로 리디렉션할 URI입니다. user
client_id Google Cloud 프로젝트의 OAuth 2.0 클라이언트 ID입니다. ID와 연결된 Project ID와 동일한지 확인합니다. OAuth 클라이언트 ID는 유효하고 고유해야 하며 project다른 사용자와 공유할 수 없습니다 project.
access_type 사용할 값: offline
prompt 사용할 값: consent
response_type 사용할 값: code
승인 코드가 반환될 것으로 예상됩니다.
scope 사용할 값: https://www.googleapis.com/auth/sdm.service
SDM API 범위입니다.
state 선택사항. 클라이언트가 요청과 콜백 간에 상태를 유지하는 데 사용하는 불투명 값입니다. developer

PCM URL 예:

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 가 권한을 부여하면 승인 코드가 리디렉션 URI의 code 매개변수로 반환됩니다. 이 코드를 사용하여 액세스 토큰을 가져옵니다.

PCM에 액세스할 때 발생하는 오류에 관한 도움말은 파트너 연결 관리자 (PCM) 오류 참조를 참고하세요.

앱에 PCM 추가

앱에서 이 URL을 사용하여 PCM 뷰를 추가합니다.

https://nestservices.google.com/partnerconnections

가 로그인하면 이 페이지에 연결된 모든 Device Access developer와 권한 부여 및 취소를 위한 전환 버튼이 있는 모든 구조 및 기기 목록이 표시됩니다. user 는 user 이 페이지에서 파트너별로 파트너 연결을 해제할 수도 있습니다.

확인되지 않은 앱

SDM API는 제한된 범위를 사용합니다. 즉, OAuth API 확인이 완료되지 않으면 승인 중에 이 범위를 사용하는 모든 앱이 "확인되지 않음"으로 표시됩니다. OAuth API 확인 개인용으로 사용하는 경우 OAuth API 확인이 필요하지 않습니다. Device Access

승인 절차 중에 "Google에서 이 앱을 확인하지 않았습니다" 화면이 표시될 수 있습니다. 이 화면은 Google Cloud의 OAuth 동의 화면에서 sdm.service 범위가 구성되지 않은 경우에 표시됩니다. 이 화면은 고급 옵션을 클릭한 후 프로젝트 이름 (안전하지 않음)으로 이동 을 클릭하여 건너뛸 수 있습니다.

자세한 내용은 확인되지 않은 앱 화면 을 참고하세요.

액세스 토큰

승인된 구조 및 기기를 관리하기 위한 SDM API 호출은 모두 승인 중에가에게 부여한 고유한 액세스 토큰을 사용해야 합니다. developer user 액세스 토큰은 수명이 짧으므로 지속적인 액세스를 보장하기 위해 정기적으로 새로고침해야 합니다.

가 나중에 developer 구조 또는 기기에 대한 액세스 권한을 취소하면 액세스 토큰이 즉시 만료되고 새로고침할 수 없으며 더 이상 해당를 대신하여 SDM API를 호출할 수 없습니다. a user developer user

계정 승인 취소

Google 계정을 승인 취소하는 방법은 여러 가지가 있습니다. 사용자가 파트너 연결 관리자 (PCM)를 사용하여 계정 권한을 수정하는 것이 좋습니다. 자세한 내용은 계정 권한 수정 을 참고하세요. 액세스 토큰은 다음 방법으로도 취소할 수 있습니다.

  1. 사용자는 https://myaccount.google.com/permissions에서 취소할 수 있습니다.

  2. 개발자는 액세스 토큰을 엔드포인트 https://oauth2.googleapis.com/revoke에 전달할 수 있습니다. Google OAuth 및 토큰 취소에 관한 자세한 내용은 토큰 취소를 참고하세요.

삽입된 WebView

새로운 보안 브라우저 정책은 일반적으로 삽입된 WebView라고 하는 삽입된 브라우저 라이브러리에서 Google OAuth 요청을 금지합니다. 모든 삽입된 WebView가 차단됩니다. 삽입된 WebView 라이브러리는 악의적인 개발자가 Google과 사용자 간의 통신을 가로채고 변경할 수 있으므로 문제가 됩니다. 삽입된 WebView는 계정 보안에 영향을 미칠 뿐만 아니라 애플리케이션의 유용성에도 영향을 미칠 수 있습니다.

이 정책의 영향을 받는 경우 삽입된 WebView 지원 도움말의 Google OAuth 2.0 승인 엔드포인트의 예정된 보안 변경사항 을 참고하세요.