23

我想为我的 Google Home 制作 google 语音操作应用程序。但是,根据快速研究,截至 12 月 11 日,谷歌不允许 Google Home 的私人项目。

参考:

我知道我可以从 API.ai 项目预览应用程序,并将其部署到链接的 Google Home 设备。

API.ai 预览

但问题是,部署的应用程序不会持续存在。小时左右后不再可用。我怎样才能使它永久化(如果有办法)

更新

根据 Leon 的回答,我只想扩展有关如何为24 hours.

  1. 点击右下角的“Google Home Web Simulator”链接。
  2. 然后您将看到 google home 设备 - 单击该页面上的“开始”按钮
  3. 在下一页,右上角有 Leon 所说的“动作包”按钮。单击它并通过单击“24 小时预览”按钮延长到期时间。请看下面的截图:

延长24小时

4

3 回答 3

31

我找到了一种在 API.ai 上创建 Action 并无限期预览它的方法。

来自 API.ai:

  1. 打开浏览器开发控制台(网络选项卡)
  2. 转到集成
  3. 开启“Actions on Google”集成
  4. 点击“授权”
  5. 点击“预览”
  6. 在网络开发控制台中检查来自https://console.api.ai/api/agent/googleassistant/preview的 XHR 响应

    {  
      "status":{  
      "code":401,
      "errorType":"unauthorized",
      "errorDetails":"You are not authorized for this operation. ",
      "webhookTimedOut":false
       }
    }
    
  7. 将响应的内容复制/粘贴到名为action.json

然后,gactions从此处下载并安装 CLI - gactions CLI ,然后运行以下命令:

gactions preview --action_package action.json --preview_mins 9999999 \
  --invocation_name [your_own_invocation_name_here] 

9999999的preview_mins值使预览实际上是无限期的。

这是一个演示它的视频:

从 API.ai 为 Google Action 导出 action.json

于 2016-12-18T02:50:47.067 回答
8

截至今天,2017 年 5 月 17 日,由于 Google SDK 上的 Actions 升级到 v2,这个问题的最高投票答案不再适用于新的 API.ai 项目。与@Brady 的答案类似的方法仍然有效,但它们在某些方面使其变得更加困难(需要向 Google 提供更多信息,全球唯一的调用名称,尽管是本地唯一的测试),并且在其他方​​面更好(gactions CLI 文档现在明确声明接受无限时间的预览,如果没有作为参数提供给gactions test调用,实际上是默认的)。

  1. 像往常一样创建您的 API.ai 代理。
  2. 在“集成”侧边菜单下,打开“Actions on Google”设置。
  3. 从出现的对话框底部选择“测试”(您可能需要在这里跳过几个环节,登录,授权帐户访问等)
  4. 这是它变得有点不同的地方。您现在需要在 Actions on Google 控制台上创建一个项目。创建项目或将项目导入控制台。
  5. 第一步是提供一个动作包,它可以直接来自 API.ai 或 SDK。对于 API.ai,您必须返回我们所在的集成页面,然后在您的 Actions on Google 设置中按“更新”。(在之前版本的 SDK 中,这被标记为“部署”并且会公开您的应用程序,但不用担心 - 现在所做的只是更新 AoG 控制台。如果需要,您稍后可以从 AoG 控制台公开发布) .
  6. 这个新控制台需要比以前更多的信息。我发现“助理应用名称”可以是任何你想要的,但“发音”严格限于几个条件(全球唯一、保留关键字、非品牌违规)。我还发现我仍然可以使用应用程序名称来调用,而不仅仅是发音,但我怀疑这将得到修复。
  7. 填写完所有必要信息后,您可以从 API.ai 进行测试。返回 API.ai 中的 AoG 设置菜单并从 HTTP 请求中检索响应内容preview(就像上面@Brady 的回答一样)。在这里,我们遇到了另一个不同之处。请求响应的内容不能直接在action.json 文件中使用,因为它被包装在另一个对象中。您只想使用属性中的对象actionPackage。(即删除

    {
      "actionPackage": 
    

    从内容的开头和

    }
    

    从最后)。您最终应该得到一个与此结构类似的对象(但可能不完全是,这取决于您的 API.ai 代理的内容):

    {
      "actions": [...],
      "types": [...],
      "manifest": {...},
      "conversations": {...}
    }
    
  8. 把它放到你的action.json文件中。

  9. 执行新的gactionsCLI 命令:

    gactions test --project <your_project_name_from_aog_console> --action-package action.json
    
  10. 享受您在 Google SDK 项目上的本地 v2 操作!并祈祷谷歌不会进一步改变交易......

我尽我所能从记忆中回忆起我必须做的事情,所以这篇文章可能会有一些错误。希望这可以帮助某人。

于 2017-05-18T02:38:15.193 回答
6

您可以延长在网络模拟器或 Google Home 设备上预览开发操作的时间。从 API.AI 预览操作后,单击 Web 模拟器中的操作包列表。然后为您的行动包选择“24 小时预览”链接。

于 2016-12-12T19:27:42.623 回答