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?
- Dispositivo virtual Android 4.3 CPU / ABI - No se instalaron imágenes del sistema (eclipse)
- Scrollview con paginación en android
- ¿Cómo utilizar complementos de Android SDK?
- SDK de Android Facebook: comprueba si el usuario está conectado o no
- ¿Por qué dice "obsoleto" para un método cuando es el único que puedo usar para el nivel de API seleccionado?
- Control de la propagación de eventos táctiles en caso de superposición de vistas
- No se puede encontrar Android 7.1.1 (turrón) API 25 ARM System Images
- Se bloquea el SDK de Youtube al cargar vídeos en directo
- Android - microsoft office viewer en mi aplicación
- ¿Dónde se encuentra la carpeta SDK de Android?
- Suportará SDK Manager para windows-8
- Facebook SDK para la descarga de Android siempre falla
- No se pudo construir: el archivo dx.jar no se cargó desde la carpeta SDK de mi eclipse
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?