Google Assistant / Dialogflow / Actions: как получить контакты пользователя? - PullRequest
0 голосов
/ 18 мая 2018

Как получить контакты пользователя, который использует мой Dialogflow?

Можно произносить телефон, но этот тип контакта не подходит для отправки расширенных сообщений (несколько больших текстовых файлов и файлов).Кроме того, телефон считается слишком важной информацией для многих людей

И правильно произнести электронную почту практически невозможно, Google распознает ее как набор случайных слов вместо этого.

Итак, каковы моиварианты?

1 Ответ

0 голосов
/ 21 мая 2018

Согласно действиям в политике Google, вы должны получить явный доступ от пользователя для получения его адреса электронной почты.Это можно сделать с помощью привязки учетных записей в консоли действий в Google:

  1. В разделе «Связывание учетных записей» в действиях в консоли Google нажмите «Да, разрешить пользователям регистрировать новые учетные записи с помощьюголос "и выберите" Google Sign In "в поле Linking Type.
  2. В вашем веб-крюке попросите пользователя войти в систему с помощью conv.ask(new SignIn('To get your account details')).
  3. Затем создайте намерение Dialogflow с actions_intent_SIGN_IN событие и разрешение на выполнение.

Затем, при выполнении намерения, созданного на последнем шаге, вы получите доступ к электронной почте пользователя:

app.intent('Get Signin', (conv, params, signin) => {
  if (signin.status === 'OK') {
    const email = conv.user.email
    conv.ask(`I got your email as ${email}. What do you want to do next?`)
  } else {
    conv.ask(`I won't be able to save your data, but what do you want to next?`)
  }
})

Ссылка -

...