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();
他の情報がなければ、そのエラーの考えられる理由は何ですか?
ありがとう。
アップデート。10Mb を超えるメッセージでこのエラーが発生しているようです。Google の皆さん、アドバイスいただけますか? ありがとう