我目前使用Gmail API一次发送多个电子邮件。我做这个顺序:如何使用Gmail的批量请求发送API
- 通过GmailAPI发送电子邮件
- 等待GmailAPI响应。
- 收到响应后,更新GmailAPI返回的带有ThreadID的记录。
- 对其他电子邮件重复步骤1-3。
我正在阅读关于批量处理sendEmail API请求的问题,以便我们对API进行一次调用并处理响应。 尽管我可以批量处理所有请求并发送,但我不确定如何处理回复。
我不确定如何处理回复。如果我在批处理请求中有30个发送电子邮件请求,那么当收到批处理响应时,如何确定哪个响应是针对哪个电子邮件?
这是我实现
BatchRequest batch = gmailService.batch();
gmailService.users().messages().send("me", message).queue(batch, callback);
batch.execute();
final List<Message> messages = new ArrayList<Message>();
JsonBatchCallback<Message> callback = new JsonBatchCallback<Message>() {
public void onSuccess(Message message, HttpHeaders responseHeaders) {
System.out.println("MessageThreadID:"+ message.getThreadId());
System.out.println("MessageID:"+ message.getId());
synchronized (messages) {
messages.add(message);
}
}
@Override
public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders)
throws IOException {
}
};