private void markMessageAsRead(Message messageStub) throws IOException { ModifyMessageRequest modifyMessageRequest = new ModifyMessageRequest() .setRemoveLabelIds(Collections.singletonList("UNREAD")); service.users().messages().modify(username, messageStub.getId(), modifyMessageRequest).execute(); }
request.queue(batches.thisBatch, callback);
gmailMessage.getId(), new ModifyMessageRequest().setAddLabelIds(missingLabelIds)) .queue(relabelBatch, new JsonBatchCallback<Message>() { @Override public void onFailure(
/** * Modifies the labels on the specified message. * * Create a request for the method "messages.modify". * * This request holds the parameters needed by the gmail server. After setting any optional * parameters, call the {@link Modify#execute()} method to invoke the remote operation. * * @param userId The user's email address. The special value me can be used to indicate the authenticated user. * [default: me] * @param id The ID of the message to modify. * @param content the {@link com.google.api.services.gmail.model.ModifyMessageRequest} * @return the request */ public Modify modify(java.lang.String userId, java.lang.String id, com.google.api.services.gmail.model.ModifyMessageRequest content) throws java.io.IOException { Modify result = new Modify(userId, id, content); initialize(result); return result; }
@Override public void onFailure( GoogleJsonError e, HttpHeaders responseHeaders) throws IOException { System.err.format("For message: %s, got error: %s\n", message.getId(), e.toPrettyString()); if (e.getCode() == TOO_MANY_CONCURRENT_REQUESTS_FOR_USER) { request.queue(batches.nextBatch, this); } }