使用Api.ai从Google Actions请求用户位置

时间:2017-02-04 17:46:32

标签: dialogflow actions-on-google google-home

Google Actions可以为您提供用户的位置,名称和其他一些细节。如何在没有nodejs SDK的情况下在Api.ai上完成这项工作? Google的所有示例都使用Nodejs sdk。

根据Conversation Api,只需要在响应中放入正确的json,但不清楚如何让Api.ai填写这个json。

我已阅读docs here,但仍不清楚。

示例代码或更详细的文档对非nodejs开发人员来说非常有用。我在Java工作,但Api.ai如何为Google Actions构建响应json的一个很好的解释对所有语言的开发人员都有帮助。

2 个答案:

答案 0 :(得分:1)

您必须学习API.AI HTTP API here。作为参考,尝试设置节点示例 - 这样您就可以看到JSON文件的运行情况。

有关权限,请尝试Name Psychic示例。

您传出的JSON将是这样的:

{
  "contextOut": [
    {
      "lifespan": 100, 
      "name": "_actions_on_google_", 
      "parameters": {}
    }, 
    {
      "lifespan": 1, 
      "name": "requesting_permission", 
      "parameters": {}
    }
  ], 
  "data": {
    "google": {
      "expect_user_response": true, 
      "is_ssml": false, 
      "no_input_prompts": [], 
      "permissions_request": {
        "opt_context": "To send you something", 
        "permissions": [
          "DEVICE_PRECISE_LOCATION"
        ]
      }
    }
  }, 
  "speech": "PLACEHOLDER_FOR_PERMISSION"
}

答案 1 :(得分:0)

Java程序员现在可以选择使用Google上的Actions。有一个Java / Kotlin官方SDK的开源端口。 API非常相似,因此对于位置,它将类似于:

app.askForLocation()

https://github.com/TicketmasterMobileStudio/actions-on-google-kotlin