Google Home操作

时间:2017-02-17 14:06:42

标签: actions-on-google google-home

我尝试为Google Home创建操作。对于我的新动作,我需要在我的网站上询问用户授权,我需要确定用户。对于此用户,应该在我的网站上链接的Google Home应用中找到我的操作并登录。 我的问题在下一个。我有没有机会仅使用模拟器创建所有这些?或者没有Google Home设备我什么都做不了?

1 个答案:

答案 0 :(得分:2)

您绝对能够使用模拟器来实现和测试它,尽管它不会像您拥有实际设备一样顺畅。该程序被称为"帐户链接"并在https://developers.google.com/actions/develop/identity/oauth2-overview详细说明,但一般来说,流程是:

  1. 您的服务需要充当OAuth 2.0服务器,并且Google智能助理可以使用授权页面和令牌交换端点。
  2. 当用户首次激活您的操作时,他们会告知他们需要授予Home访问权限的权限,他们应该在Google Home应用中查看该卡。
  3. 该卡会将其重定向到授权页面,在那里他们会登录您的网站并授权从Google Home访问您的网站。
  4. 作为授权的一部分,您将继续使用OAuth 2.0流程并(最终)发出Google Home将存储的不记名令牌。
  5. 然后,用户可以重新触发操作。每次调用您的webhook时,Google Home都会向您发送此令牌。
  6. 然后,您可以使用此令牌查找正在发出请求的用户。
  7. Google的文档和OAuth 2.0规范中涵盖了许多其他详细信息,但这通常是它的工作原理。

    对于模拟器,用户不会被定向到Google Home应用中的卡片。相反,您可以在第一次激活Action时在模拟器提供的返回JSON中看到。其中,debugInfo.sharedDebugInfo.debugInfo字段包含身份验证URL。您应该在浏览器中转到该URL,完成登录和授权流程,最终将重定向到包含参数result_code=SUCCESS的URL。在此之后,使用模拟器将访问令牌发送到您的webhook。有关其他详细信息,请参阅https://developers.google.com/actions/tools/testing#testing_on_the_google_home_web_simulator