Dialogflow es 不带nodejs库的请求用户位置
我在GoogleNodeJS库上的操作帮助下成功地请求了用户位置,但我更喜欢java,我需要用java来做这件事 从上面的链接中,我发现只使用json响应是可能的 我已经在api.ai中创建了我的poc应用程序,它的返回值低于json响应 1. 这将返回: 2. 本申报表: 我想知道我这样做是可能的还是不可能的。如果是,我做错了什么Dialogflow es 不带nodejs库的请求用户位置,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我在GoogleNodeJS库上的操作帮助下成功地请求了用户位置,但我更喜欢java,我需要用java来做这件事 从上面的链接中,我发现只使用json响应是可能的 我已经在api.ai中创建了我的poc应用程序,它的返回值低于json响应 1. 这将返回: 2. 本申报表: 我想知道我这样做是可能的还是不可能的。如果是,我做错了什么 请帮助。对于初学者-是的,这是可能的。您可以使用JSON请求权限。所有node.js库所做的都是帮助格式化JSON 大部分看起来是正确的,但我认为这里有两
请帮助。对于初学者-是的,这是可能的。您可以使用JSON请求权限。所有node.js库所做的都是帮助格式化JSON 大部分看起来是正确的,但我认为这里有两种不同类型的错误 首先,我怀疑在您的第一个示例中,有几个字段导致API.AI/Google出现问题。两个空字段,
conversationToken.state
和expectedInputs.inputPrompt.noInputPrompts
,可能会导致问题。state
字段应该只是一个字符串(任何字符串都可以),而noInputPrompts
应该是一个空数组
此外,您还表示您正在使用API.AI,这需要返回额外的信息,以及您在data.google
部分(您在第二个示例中有,但不是第一个示例中)中指示的大部分信息。有关API.AI响应的基本布局以及Google助手使用的其他字段,请参阅
以下是我生成的一些有效输出:
{
"speech": "PLACEHOLDER_FOR_PERMISSION",
"contextOut": [
{
"name": "_actions_on_google_",
"lifespan": 100,
"parameters": {}
}
],
"data": {
"google": {
"expectUserResponse": true,
"isSsml": false,
"noInputPrompts": [],
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"optContext": "To pick you up",
"permissions": [
"NAME",
"DEVICE_PRECISE_LOCATION"
]
}
}
}
}
}
非常感谢你的帮助。它按我的要求工作。:)嗨@Captive,我有一个问题:一旦我们获得用户名和位置许可,我们是否有任何方法可以仅存储该会话的许可,并且无论何时需要,我都会获得该许可,是吗?对于其他/不同的问题,最好问另一个SO问题,而不是尝试使用评论进行跟进。然而,在这种情况下,它已经被问到和回答了:如果这回答了你的问题,就把问题和答案投上一票。如果没有-尽可能多地询问一个新问题。现在有一个非官方的Java/Kotlin SDK。它具有nodejs的所有特性和非常相似的api。我维护这个项目,并将很快更新文档和自述文件,但它已经准备好使用,并且在maven central上@帕特里克,谢谢,我去看看
{
"contextOut": [
{
"lifespan": 100,
"name": "_actions_on_google_",
"parameters": null
},
{
"lifespan": 5,
"name": "requesting_permission",
"parameters": null
}
],
"data": {
"google": {
"expect_user_response": true,
"is_ssml": false,
"no_input_prompts": null,
"permissions_request": {
"opt_context": "Requesting Location.",
"permissions": [
"DEVICE_COARSE_LOCATION"
]
}
}
},
"speech": "PLACEHOLDER_FOR_PERMISSION"
}
{
"speech": "PLACEHOLDER_FOR_PERMISSION",
"contextOut": [
{
"name": "_actions_on_google_",
"lifespan": 100,
"parameters": {}
}
],
"data": {
"google": {
"expectUserResponse": true,
"isSsml": false,
"noInputPrompts": [],
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"optContext": "To pick you up",
"permissions": [
"NAME",
"DEVICE_PRECISE_LOCATION"
]
}
}
}
}
}