【发布时间】:2017-08-09 13:37:49
【问题描述】:
我正在开发与 Google Home 的 Home Control 集成,但在任何测试期间都无法让 Google Home 调用我的对话 URL。
因为无法使用模拟器测试 Home Control 操作,所以我已经设置了 Google Home 设备、手机上的 Google Home 应用和 Google 上的 Actions 项目,所有这些都使用同一个 Google 用户。
我已经运行gactions test --action-package action.json --package MYPACKAGE 没有问题。
在尝试测试项目时,我打开了 Google Home 应用,可以在 Home Control > Add Devices 下看到“[test] my app”。这让我想到了 OAuth2 流程。
OAuth2 服务器似乎工作正常,我可以从日志中看到 google 端正在成功检索 access_token。一切都按照文档进行:https://developers.google.com/actions/identity/oauth2-code-flow。
我假设下一步是让“Actions on Google”使用 SYNC-intent 调用我的对话端点 URL。但是,我在服务器上看不到这样的请求,并且 Google Home 应用显示了一个对话框,上面写着“出了点问题。再试一次”
再试一次没有有帮助。
这是我的完整 action.json:
{
"actions": [{
"description": "testing...",
"name": "actions.devices",
"deviceControl": {},
"fulfillment": { "conversationName": "automation" }
}],
"conversations": {
"automation" : {
"name": "automation",
"url": "https://5ca2a6b9.ngrok.io/googleToTesting"
}
}
}
任何帮助将不胜感激。
2017 年 8 月 17 日编辑
作为一种解决方法,打开浏览器到 url https://assistant.google.com/services/auth/handoffs/auth/start?provider=MYPROJECTID_dev&return_url=https://some.useless.url/ 并使用浏览器通过 OAuth 流以某种方式使来自 Google Home 应用的下一个 OAuth 流初始化成功。
(注意 Actions on Google 项目 ID 后面的神奇 _dev -suffix。)
【问题讨论】:
-
认为问题可能出在 OAuth2-final 调用上,我更改了 OAuth2 服务器和 google 端以使用隐式流。同样的错误。
-
没有什么可以尝试的,我按照 README.md 中的说明设置了 Google 在github.com/actions-on-google/actionssdk-smart-home-nodejs 提供的示例。完全相同的问题。唯一需要尝试的是为所有内容设置一个完全独立的 Google 帐户,因为这是唯一保持不变的事情......
标签: actions-on-google google-home home-automation