const agent = new WebhookClient({request, response});
const {WebhookClient} = require('dialogflow-fulfillment');
const {Text, Card, Image, Suggestion, Payload} = require('dialogflow-fulfillment');
let payload = {
"systemIntent": {
"intent": "actions.intent.PERMISSION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"optContext": "To deliver your order",
"permissions": [
"NAME",
"DEVICE_PRECISE_LOCATION"
]
}
}
};
agent.add('PLACEHOLDER_FOR_PERMISSION');
agent.add(new Payload(PLATFORMS.ACTIONS_ON_GOOGLE, payload));
Простая полезная нагрузка для получения UserLocation и Name с использованием РАЗРЕШЕНИЕ intent
Ответ на вышесказанное я получаю
Чтобы доставить ваш заказ, мне нужно получить ваше имя и почтовый адрес
от Google. Это нормально?
Выполнить намерение для этого намерения также устанавливается с событием actions_intent_PERMISSION в нем
Я пытался решить эту проблему в течение 2 дней, пытаясь запустить actions_intent_PERMISSION , используя фишки для предложений и т. Д., Но после этого ничего не происходит?
Где я иду не так, я не могу понять. Где-то есть какая-то глупая ошибка - пожалуйста, если кто-то может указать на это - очень поможет.
Спасибо
=========== РЕДАКТИРОВАТЬ ============ ИЗОБРАЖЕНИЯ ДЛЯ НАМЕРЕНИЙ ============
права доступа
ответ прав доступа с событием actions_intent_PERMISSION
edit: не могу вставлять изображения из-за точек. выше ссылки есть. спасибо
======================================= запрос-ответ json ========== =========
когда намерение разрешений запускается ниже, это запрос
{
"responseId": "54a4be35-3d0b-4cc8-b036-46fab0d09361",
"queryResult": {
"queryText": "permissions",
"action": "permissions",
"parameters": {},
"allRequiredParamsPresent": true,
"fulfillmentMessages": [
{
"text": {
"text": [
""
]
}
}
],
"intent": {
"name": "projects/projectid/agent/intents/95237653-0af0-4d0c-9101-0cd8ee0db186",
"displayName": "permissions"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {},
"languageCode": "en"
},
"originalDetectIntentRequest": {
"payload": {}
},
"session": "projects/projectid/agent/sessions/13213e7f-dba5-4d0c-979a-f626f7ac4691"
}
ответ об исполнении
{
"conversationToken": "[]",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {},
"possibleIntents": [
{
"intent": "actions.intent.PERMISSION",
"inputValueData": {
"@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
"permissions": [
"NAME",
"DEVICE_PRECISE_LOCATION"
],
"optContext": "To locate you"
}
}
],
"speechBiasingHints": [
"$name-type",
"$sports",
"$gender"
]
}
],
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true,
"intent": "95237653-0af0-4d0c-9101-0cd8ee0db186"
}
}
}
Ответ симулятора для прав доступа Намерение
=============================================== ========================
Проблема устранена
Примечания к сведению:
- Симулятор Actions-on-Google работает очень странно
работает ли ваш webhook или нет
- Разрешение обещания было
проблема - агент ждал обещания, которое будет решено до этого
это передавалось в следующий раз
- Правильный способ проверить своего бота
это опубликовать свой бот в ALPHA по каталогу помощника, а
чем тестирование на симуляторе, потому что он очень нестабилен с точки зрения
из вас никогда не может предсказать его поведение. Никогда не скажу вам
исправлена ошибка, которая должна быть отлажена и внезапно перестанет работать
причина вообще