java - Fetching only message headers from Gmail -


i'm writing small app generate stats in gmail inbox endless task of cleaning our mailbox.

my code working, unnecessarily download messages's payload data access message headers (from field header).

the method gmail.users.messages.get.setfields(string) payload option, payload heaviest part of it. tried using values "payload.header", "payload.headers", none of these values work.

so question is, how can access message's field instead of fetching entire payload data in order improve performance?

    map<string, integer> emailaddresscountmap = new hashmap<string, integer>();     (message message : messages) {         message m1 = service.users().messages().get(user, message.getid()).setfields("payload").execute();          stream<string> fromheadervalue = m1.getpayload().getheaders().stream()                 .filter(h -> "from".equals(h.getname())).map(h -> h.getvalue());          string emailaddress = fromheadervalue.toarray(string[]::new)[0];         integer count = emailaddresscountmap.get(emailaddress);         if (count == null) {             count = 0;         }         emailaddresscountmap.put(emailaddress, count + 1);          system.out.println(emailaddress + ": " + count);     } 

how following modification?

from :

message m1 = service.users().messages().get(user, message.getid()).setfields("payload").execute(); 

to :

message m1 = service.users().messages().get(user, message.getid()).setfields("payload/headers").execute(); 

if didn't work, or if misunderstand question, i'm sorry.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -