Bulk-fetching emails in the new Gmail API Bulk-fetching emails in the new Gmail API python python

Bulk-fetching emails in the new Gmail API


Here is an example of batch request in Java where I get all the threads using threads ids. This can be easily adapted for your need.

BatchRequest b = service.batch();//callback function. (Can also define different callbacks for each request, as required)JsonBatchCallback<Thread> bc = new JsonBatchCallback<Thread>() {    @Override    public void onSuccess(Thread t, HttpHeaders responseHeaders)            throws IOException {        System.out.println(t.getMessages().get(0).getPayload().getBody().getData());    }    @Override    public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders)            throws IOException {    }};// queuing requests on the batch requestsfor (Thread thread : threads) {    service.users().threads().get("me", threads.getId()).queue(b, bc);}b.execute();


Here is the solution that worked for me:

batch = BatchHttpRequest()for msg_id in message_ids:    batch.add(service.users().messages().get(userId='me', id=msg_id['id']), callback=mycallbackfunc)batch.execute()