Я использую Dialogflow API v2 для проверки своих намерений через HTTP-запрос (я использую Почтальон).
POST https://dialogflow.googleapis.com/v2/projects/{{projectId}}/agent/sessions/{{session}}:detectIntent
ТЕЛО
{
"queryInput": {
"text": {
"text":"{{query}}",
"languageCode":"en"
}
},
"queryParams": {
"timeZone":"xxxxx",
"geoLocation": {
"latitude": 0,
"longitude": 0
},
}
}
Когда мое намерение запрашивает точное местоположение (мой код указан ниже):
conv.ask(new Permission({
context: "Before I can answer you",
permissions: "DEVICE_PRECISE_LOCATION"
}));
Ответ API:
{
"responseId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"queryResult": {
"queryText": "Where is the nearest store?",
"parameters": {
"nearest": "nearest"
},
"allRequiredParamsPresent": true,
"fulfillmentText": "Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.",
"fulfillmentMessages": [
{
"text": {
"text": [
"Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead."
]
}
}
],
"webhookPayload": {
"google": {
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"optContext": "Before I can answer you",
"permissions": [
"DEVICE_PRECISE_LOCATION"
],
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec"
}
},
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "PLACEHOLDER"
}
}
]
},
"expectUserResponse": true
}
},
"intent": {
"name": "projects/xxxx/agent/intents/xxxxx",
"displayname": "Find store",
},
...
}
Есть лиспособ указать местоположение в запросе DialogFlow API v2 и пропустить запрос на разрешение?Я хотел бы проверить не только намерение, но и ответ в зависимости от местоположения.