Google 홈에 대한 작업을 만들려고합니다. 새로운 조치를 취하기 위해 웹 사이트에서 사용자 권한을 요청해야합니다. 사용자를 식별해야합니다. 이 사용자는 내 홈 페이지에 링크 된 Google 홈 앱에서 내 행동을 찾아 로그인해야합니다. 내 질문에 대한 답변입니다. 에뮬레이터 만 사용하여이 모든 것을 만들 수 있습니까? Google 홈 기기가 없어도 아무 것도 할 수 없습니까?Google 홈 액션
0
A
답변
2
실제 장치가있는 것처럼 부드럽게 작동하지는 않지만 에뮬레이터를 사용하여 구현하고 테스트 할 수 있습니다. 절차는 "계정 연결"로 알려져 있으며, https://developers.google.com/actions/develop/identity/oauth2-overview에 자세히 설명되어 있지만, 일반적으로 흐름은 다음과 같습니다
- 서비스가 OAuth는 2.0 서버의 역할과에 사용할 수있는 인증 페이지와 토큰 교환 끝점을 가질 필요가 Google 길잡이.
- 사용자가 처음으로 활동을 활성화하면 내 집에 계정에 액세스 할 수있는 권한을 부여해야한다는 메시지가 표시되며 Google 홈 앱에서 카드를 확인해야합니다.
- 카드는 승인 페이지로 리디렉션되어 웹 사이트에 로그인하고 Google 홈에서 사이트에 대한 액세스 권한을 부여합니다.
- 승인의 일환으로 OAuth 2.0 흐름을 계속 수행하고 Google 홈에 저장할 무기명 토큰을 발급합니다.
- 사용자가 작업을 다시 트리거 할 수 있습니다. webhook이 호출 될 때마다 Google 홈에서이 토큰을 보냅니다.
- 그러면이 토큰을 사용하여 요청을 수행 한 사용자를 조회 할 수 있습니다.
Google의 설명서 및 OAuth 2.0 사양에 설명되어있는 추가 세부 정보가 많이 있지만 일반적으로 작동하는 방식입니다.
에뮬레이터의 경우 사용자는 Google 홈 앱의 카드로 연결되지 않습니다. 대신 처음으로 액션을 활성화 할 때 에뮬레이터에서 제공 한 JSON 반환 값을 확인할 수 있습니다. 여기에는 debugInfo.sharedDebugInfo.debugInfo
필드에 인증 URL이 포함됩니다. 브라우저에서 URL로 이동하여 로그인 및 승인 절차를 완료하면 결국 result_code=SUCCESS
매개 변수가 포함 된 URL로 리디렉션됩니다. 그런 다음 에뮬레이터를 사용하여 웹 훅에 액세스 토큰을 보냅니다. 자세한 내용은 https://developers.google.com/actions/tools/testing#testing_on_the_google_home_web_simulator을 참조하십시오.
감사합니다. 나에게 매우 유용한 정보. –