2017-02-17 1 views
0

J'essaie de créer des actions pour Google Home. Pour ma nouvelle action, je dois demander l'autorisation de l'utilisateur dans mon site Web, j'ai besoin d'identifier l'utilisateur. Pour cet utilisateur doit être trouver mon action dans l'application Google Home, lié sur mon site Web et se connecter. Ma question dans le prochain. Ai-je une chance de créer tout cela en utilisant seulement un émulateur? Ou sans appareil Google Home, je ne peux rien faire?Actions Google Home

Répondre

2

Vous pourrez certainement implémenter et tester ceci en utilisant simplement l'émulateur, même si cela ne fonctionnera pas aussi bien que si vous aviez un périphérique réel. La procédure est connue comme « liaison de compte » et est détaillé à https://developers.google.com/actions/develop/identity/oauth2-overview, mais en général le flux est:

  1. Votre service doit agir en tant que serveur OAuth 2.0 et ont une page d'autorisation et d'un point de terminaison d'échange de jeton disponible pour l'assistant Google
  2. Lorsque l'utilisateur active votre action pour la première fois, on lui dit qu'il doit donner à Home l'autorisation d'accéder à votre compte et qu'il doit vérifier l'application Google Home pour obtenir une carte.
  3. La carte les redirigera vers la page d'autorisation, où ils se connecteront à votre site Web et autoriseront l'accès à votre site depuis Google Home.
  4. Dans le cadre de l'autorisation, vous continuerez le flux OAuth 2.0 et émettrons (éventuellement) un jeton de support que Google Home stockera.
  5. Les utilisateurs peuvent ensuite re-déclencher l'action. Chaque fois que votre webhook est appelé, Google Home vous envoie ce jeton.
  6. Vous pouvez ensuite utiliser ce jeton pour rechercher quel utilisateur fait la demande.

De nombreux détails supplémentaires sont abordés dans la documentation de Google et dans la spécification OAuth 2.0, mais c'est généralement ainsi que cela fonctionne.

Pour l'émulateur, les utilisateurs ne sont pas dirigés vers la carte dans l'application Google Home. Au lieu de cela, vous pouvez voir dans le retour JSON fourni par l'émulateur la première fois que vous activez l'action. Dans ce champ, le champ debugInfo.sharedDebugInfo.debugInfo contient l'URL d'authentification. Vous devriez aller à l'URL dans un navigateur, compléter la connexion et le flux d'autorisation, et sera finalement redirigé vers une URL qui inclut le paramètre result_code=SUCCESS. Après cela, l'utilisation de l'émulateur enverra le jeton d'accès à votre webhook. Voir https://developers.google.com/actions/tools/testing#testing_on_the_google_home_web_simulator pour plus de détails.

+0

Merci! C'est une information très utile pour moi. –