首页 > 解决方案 > Google Assistant/Dialogflow/Actions:如何获取用户的联系人?

问题描述

如何获取使用我的 Dialogflow 的用户的联系人?

一个人可以发音电话,但这种类型的联系人不适合发送丰富的消息(有点大的文本和文件)。此外,电话被许多人认为是过于敏感的信息

并且几乎不可能正确发音电子邮件,谷歌会像一堆随机单词一样识别它。

那么,我有哪些选择?

标签: actions-on-googledialogflow-es

解决方案


根据 Actions on Google 政策,您应该获得用户的明确访问权限以获取他们的电子邮件地址。您可以通过 Actions on Google 项目控制台中的 Account Linking 来执行此操作:

  1. 在 Actions on Google 控制台的“帐户链接”下,点击“是,允许用户通过语音注册新帐户”,然后在“链接类型”字段中选择“Google 登录”。
  2. 在您的 webhook 中要求用户使用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?`)
  }
})

参考 -


推荐阅读