Hi everyone,
I'm trying to access an user's email using getUpsServiceClient() (ASK SDK Documentation). I enabled the allow email option in the alexa console>Build>Permissions and enabled email permissions with a permissions card (Docs) However, it still does not work.. has anyone gotten this to work? What steps am I missing?
It doesn't work with getting the phone number either. Here's my code:
const { requestEnvelope, serviceClientFactory, responseBuilder } = handlerInput; const consentToken = requestEnvelope.context.System.user.permissions && requestEnvelope.context.System.user.permissions.consentToken; if (!consentToken) { return responseBuilder .speak(messages.NOTIFY_MISSING_EMAIL_PERMISSIONS) .withAskForPermissionsConsentCard('alexa::profile:email:read') .getResponse(); } try { const deviceServiceClient = serviceClientFactory.getUpsServiceClient(); console.log('REQUESTING SERVICE CLIENT: '+JSON.stringify(deviceServiceClient)); const email = await deviceServiceClient.getProfileEmail(); console.log(`Email successfully retrieved, now responding to user. Email: ${JSON.stringify(email)}`); } catch (error) { if (error.name !== 'ServiceError') { return responseBuilder.speak(messages.ERROR).getResponse(); } throw error; }