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?`)
}
})
1 回答
对于Google政策的每项操作,您应获得用户的明确访问权限以获取其电子邮件地址 . 您可以通过Google上的操作项目控制台中的帐户关联来执行此操作:
在Google控制台上的操作中的"Account Linking"下,单击"Yes, allow users to sign up for new accounts via voice"并在“链接类型”字段中选择"Google Sign In" .
在您的webhook中要求用户使用
conv.ask(new SignIn('To get your account details'))
登录 .然后,使用
actions_intent_SIGN_IN
事件创建Dialogflow意图并允许实现 .然后,在完成最后一步中创建的意图时,您将可以访问用户的电子邮件:
参考 -
Actions on Google client library doc
Actions on Google policies