Пожалуйста, проверьте вспомогательные функции здесь .Вам нужно сделать следующее:
- Создать намерение, чтобы запросить разрешение.
- В этом намерении спросите разрешение, которое вы хотите
- Создать второе намерение для захватаответ пользователя на намерение путем помещения события Dialogflow
actions_intent_PERMISSION
в это намерение. - В дескрипторе webhook второй проверки намерения для подтверждения.
Запрос разрешения в первом намерении
app.intent('FIRST_INTENT_NAME', (conv) => {
// Choose one or more supported permissions to request:
// NAME, DEVICE_PRECISE_LOCATION, DEVICE_COARSE_LOCATION
const options = {
context: 'To address you by name and know your location',
// Ask for more than one permission. User can authorize all or none.
permissions: ['NAME', 'DEVICE_PRECISE_LOCATION'],
};
conv.ask(new Permission(options));
});
Результат захвата во втором намерении
app.intent('SECOND_INTENT_NAME', (conv, params, confirmationGranted) => {
const {name} = conv.user;
if (confirmationGranted) {
if (name) {
conv.ask(`I'll send the driver you're way now ${name.display}.`);
}
}
});
Для точного понимания с примером кода, посмотрите этот пример ссылки GitHubb .