Leer correos electrónicos de Gmail con SDK de Android
Quiero leer correos de Gmail en mi propia aplicación android. ¿Hay alguna manera de hacerlo utilizando sdk android? Si no, ¿cuáles son las otras opciones? Análisis de gmail átomo?
- Facebook SDK para la descarga de Android siempre falla
- Mostrar Android SDK Manager, botones de administrador de dispositivos virtuales de Android en eclipse?
- ¿Está Vimeo SDK disponible para Android?
- Android Studio 1.1.0 Facebook SDK Inicio de sesión
- Cuál es el papel de la clave de la aplicación y la clave secreta en cada SDK
- Dispositivo no autorizado: no se permite el pago desde este dispositivo
- Keytool con Android SDK de Facebook
- No se pudieron resolver todas las dependencias para la configuración ': app: _debugApkCopy'
- Depuración NDK de Android
- SDK de Android Facebook: comprueba si el usuario está conectado o no
- ¿Cómo hago que un escáner de huellas digitales USB esté conectado a un teléfono móvil / tablet con éxito?
- Cómo corregir la excepción no captada GMS .NoClassDefFoundError: com.google.android.gms.internal.zzno
- Soporte de Android Wear 2.0 para la aplicación de vista de reloj
Le pregunto y respondo a esa pregunta aquí. Necesitas el código de Gmail.java (en la pregunta hay un enlace) y debes entender que no debes usar ese proveedor indocumentado
¿Hay algún buen ejemplo de código corto que simplemente lea un nuevo mensaje de Gmail?
Es posible usar la API de GMail, aquí hay algunos pasos que me parecieron útiles.
- Comience con la muestra oficial para obtener el GMailAPI iniciado, ver aquí
- Al seguir las instrucciones me pareció útil leer sobre la firma de la aplicación aquí para obtener Step1 + 2 en la muestra correcta.
- Con el ejemplo en ejecución, puede utilizar la información aquí para acceder a los mensajes. Por ejemplo, puede reemplazar la implementación en MakeRequestTask.getDataFromApi
-
Asegúrese de agregar al menos el ámbito de sólo lectura para los permisos adecuados. En la muestra los ámbitos se definen en una matriz:
private static final String[] SCOPES = { GmailScopes.GMAIL_LABELS, mailScopes.GMAIL_READONLY };
-
Mi intención era leer todos los temas. He utilizado el siguiente código (que es el método adaptado getDataFromApi de la muestra oficial):
private List<String> getDataFromApi() throws IOException { // Get the labels in the user's account. "me" referes to the authentized user. String user = "me"; List<String> labels = new ArrayList<String>(); ListMessagesResponse response = mService.users().messages().list(user).execute(); for (Message message : response.getMessages()) { Message readableMessage = mService.users().messages().get(user, message.getId()).execute(); if (readableMessage.getPayload() != null) { for (MessagePartHeader header : readableMessage.getPayload().getHeaders()) { if (header.getName().compareToIgnoreCase("Subject") == 0) { labels.add(header.getValue()); } } } } return labels; }
- Cómo crear un widget Widget.Holo.Spinner-estilo en v7
- ¿Cómo configurar Google Cloud Messaging para Android?