尝试插入从 MimeMessage 加载的消息(如 gmail api 示例所示),一些消息传递正常,但有些则抛出这个:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
<HTML>
<HEAD>
<TITLE>Bad Request</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Bad Request</H1>
<H2>Error 400</H2>
</BODY>
</HTML>
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1049)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
代码如下:
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
mime.writeTo(baos);
String encodedEmail = Base64.encodeBase64URLSafeString(baos.toByteArray());
tmpMail = new Message();
tmpMail.setRaw(encodedEmail);
client.users().messages().insert(this.taskInfo.getTargetAccount(), tmpMail).execute();
如果没有任何其他信息,该错误的可能原因是什么?
谢谢。
UPD。看起来大于 10Mb 的消息会出现此错误。谷歌大佬,能给点建议吗?谢谢