Solicitud de correo electrónico con Twitter
Estoy tratando de solicitar el correo electrónico de un usuario usando el inicio de sesión de twitter y siempre me devuelve el siguiente error
com.twitter.sdk.android.core.TwitterException: Your application may not have access to email addresses or the user may not have an email address. To request access, please visit https://support.twitter.com/forms/platform.
He seguido todos los pasos para desarrollar esta solicitud de correo electrónico en la página de la tela. He solicitado el acceso a twitter y me han contestado con un correo electrónico de confirmación y he configurado todos los elementos necesarios en mi panel de control de administración de aplicaciones de Twitter, pero la solicitud de correo electrónico siempre me envía al método de fallo y lanzar esa excepción.
- Abrir perfil de usuario de aplicaciones de Twitter desde la aplicación de Android
- Twitter Fabric + MultiDex causa NoClassDefFoundError
- Barra de acción de Android como muestra de twitter
- Twitter4j API no está redirigiendo a la aplicación en la pulsación del botón de nuevo en android
- ¿Salir de la cuenta de Twitter usando JTwitter?
¿alguna idea?
private void twitterConfig() { TwitterAuthConfig authConfig = new TwitterAuthConfig("Consumer Key (API Key)", "Consumer Secret (API Secret"); Fabric.with(this, new Twitter(authConfig)); twitterLoginButton.setCallback(new Callback<TwitterSession>() { @Override public void success(Result<TwitterSession> result) { TwitterSession session = result.data; String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")"; TwitterAuthClient authClient = new TwitterAuthClient(); authClient.requestEmail(session, new Callback<String>() { @Override public void success(Result<String> result) { System.out.println(); } @Override public void failure(TwitterException exception) { notificationManager.showMessage(getString(R.string.error_cant_get_login)); } }); } @Override public void failure(TwitterException exception) { notificationManager.showMessage(getString(R.string.error_generic)); } }); }
- Evitar que la dependencia de Gradle para la biblioteca de soporte sea reemplazada por una versión más reciente
- ¿Cómo forzar Share Intent a abrir una aplicación específica?
- Android java.lang.AssertionError: java.lang.NoSuchMethodException - Proguard
- Inicia sesión con Twitter en la aplicación de phonegap
- ¿Cómo ingresar a twitter usando Oauth desde mi aplicación Android?
- Cómo obtener la línea de tiempo de inicio del usuario con el SDK de Android de Twitter
- Problema en la devolución de llamada en Twitter en Android
- Facebook Android API y Twitter Webview Login integración
Como se indica en la parte inferior de la documentación :
Incluso si el usuario concede acceso a su dirección de correo electrónico, no está garantizado que recibirá una dirección de correo electrónico. Por ejemplo, si alguien se ha registrado en Twitter con un número de teléfono en lugar de una dirección de correo electrónico, el campo de correo electrónico puede estar vacío. Cuando esto sucede, el método de fallo se llamará porque no hay ninguna dirección de correo electrónico disponible.
I Sí Es cierto. Debe cambiar la configuración de permisos de la ficha de permiso dentro de la aplicación seleccionada.
https://apps.twitter.com/app/PROJECT_ID/permissions
Permisos adicionales
Estos permisos adicionales requieren que proporcione URLs a la política de privacidad y los términos de servicio de su aplicación o servicio. Puede configurar estos campos en la Configuración de la aplicación. Solicitar direcciones de correo electrónico a los usuarios
Eso permitirá después de algunas horas / min una vez que cambie.
TwitterAuthClient authClient = new TwitterAuthClient(); authClient.requestEmail(session, new Callback < String > () { @Override public void success(Result < String > result) { // Do something with the result, which provides the email address Log.v("log_tag", "success email true > " + result.data); } @Override public void failure(TwitterException exception) { // Do something on failure Log.v("log_tag", "success email false > " + exception); } });
Como dijo neeeko No está garantizado que usted recibirá una dirección de correo electrónico.
Gracias