List<MailMessageModel> results = new ArrayList<>(response.getMessages().size()); for (Message listMessage : response.getMessages()) { Message getResponse = null; try { if (response.getNextPageToken() != null) { newPage = new StringPaginationToken(response.getNextPageToken()); resultType = ResultType.CONTINUE;
/** * Sets up a response with a single message */ private void setUpSingleMessageResponse() throws IOException { messageListResponse = new ListMessagesResponse() .setMessages(Collections.singletonList(INITIAL_MESSAGE)); when(messageListRequest.execute()).thenReturn(messageListResponse); when(get.execute()).thenReturn(FULL_MESSAGE); } }
messageListResponse.setNextPageToken(NEXT_TOKEN);
public List<Message> listAllMessages(Gmail service, String userId ) throws IOException { ListMessagesResponse response = service.users().messages().list(userId).execute(); if (response == null || response.isEmpty()) return null; List<Message> messages = new ArrayList<Message>(); messages.addAll(response.getMessages()); int totalMsgs = messages.size(); Message message; if (totalMsgs > 0) { for (int i = 0; i < totalMsgs; i++) { message = messages.get(i); //message.getId() is what you want } } return messages; }
/** * Returns an empty list if there is no unread email of the user. */ private List<Message> getListOfUnreadEmailOfUser() throws IOException { List<Message> messageStubs = service.users().messages().list(username).setQ("is:UNREAD").execute().getMessages(); return messageStubs == null ? new ArrayList<>() : messageStubs; }
@Override public void onSuccess( ListMessagesResponse response, HttpHeaders responseHeaders) throws IOException { if (!response.isEmpty()) { results.putAll(localMessage, response.getMessages()); System.err.println( "For " + localMessage.getMessageId() + " got:"); response.getMessages().stream().forEach(message -> System.err.println(" message id: " + message.getId())); } } });
.setQ(query) .execute(); LOGGER.fine("==Found "+ neverNull(response.getMessages()).size()+" messages."); for(Message message : neverNull(response.getMessages())){ String singleFilename = "";
String user = "me"; //set selected labels //[CATEGORY_PERSONAL, CATEGORY_SOCIAL, Регистрации, CATEGORY_FORUMS, IMPORTANT, CATEGORY_UPDATES, CHAT, SENT, INBOX, TRASH, CATEGORY_PROMOTIONS, DRAFT, SPAM, STARRED, UNREAD] List<String> labelIds = new ArrayList<>(); labelIds.add("SENT"); ListMessagesResponse response = mService.users().messages().list(user).setLabelIds(labelIds).execute(); List<Message> messages = new ArrayList<Message>(); while (response.getMessages() != null) { messages.addAll(response.getMessages()); if (response.getNextPageToken() != null) { String pageToken = response.getNextPageToken(); response = mService.users().messages().list(user).setPageToken(pageToken).execute(); } else { break; } }
@Test public void exportMessagesSubsequentSet() throws IOException { setUpSingleMessageResponse(); // Looking at subsequent page, with no page after it PaginationData paginationData = new StringPaginationToken(NEXT_TOKEN); ExportInformation exportInformation = new ExportInformation(paginationData, null); messageListResponse.setNextPageToken(null); // Run test ExportResult<MailContainerResource> result = googleMailExporter.export(JOB_ID, null, Optional.of(exportInformation)); // Check results // Verify correct calls were made (i.e., token was set before execution) InOrder inOrder = Mockito.inOrder(messageListRequest); inOrder.verify(messageListRequest).setPageToken(NEXT_TOKEN); inOrder.verify(messageListRequest).execute(); // Check pagination token (should be null) ContinuationData continuationData = (ContinuationData) result.getContinuationData(); StringPaginationToken paginationToken = (StringPaginationToken) continuationData.getPaginationData(); assertThat(paginationToken).isNull(); }
list.addAll(response.getMessages()); request.setPageToken(response.getNextPageToken());
final ListMessagesResponse response = mService.users().messages().list(user).setQ("from:----").execute(); final List<Message> messages = new ArrayList<Message>(); while (response.getMessages() != null) { messages.addAll(response.getMessages()); if (response.getNextPageToken() != null) { String pageToken = response.getNextPageToken(); response = service.users().messages().list(user).setQ("from:----").setPageToken(pageToken).execute(); } else { break; } } final List<Message> fullMessages = new ArrayList<>(); final JsonBatchCallback<Message> callback = new JsonBatchCallback<Message>() { public void onSuccess(Message message, HttpHeaders responseHeaders) { fullMessages.add(message); } public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) { // do what you want if error occurs } }; BatchRequest batch = mService.batch(); for (Message message : messages) { mService.users().messages().get(user, message.getId()).setFormat("full").queue(batch, callback); } batch.execute();