2011-05-22 11 views

Respuesta

1

Es posible utilizar la API de Gmail, aquí hay algunos pasos I encontrado útil.

  1. de inicio con la muestra oficial para obtener el GMailAPI comenzó, ver here
  2. Al seguir las instrucciones que he encontrado útil leer acerca de la firma aplicación here con el fin de conseguir Paso 1 + 2 en la derecha muestra.
  3. Con el ejemplo en ejecución, puede usar la información here para acceder a los mensajes. Puede, por ejemplo, reemplace la implementación en MakeRequestTask.getDataFromApi
  4. Asegúrese de agregar al menos el alcance de solo lectura para obtener los permisos adecuados. En la muestra de los alcances se definen en una matriz:

    private static final String[] SCOPES = { GmailScopes.GMAIL_LABELS, mailScopes.GMAIL_READONLY };

  5. Mi intención era leer todos los sujetos. He utilizado el siguiente código (que es el método getDataFromApi adaptada 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; 
    } 
    
Cuestiones relacionadas