如何将大邮件上传到Gmail

时间:2015-07-21 17:16:55

标签: gmail-api

我正在使用Gmail API导入邮件,我注意到了 以下问题。目前我正在对此网址进行POST:

https://www.googleapis.com/gmail/v1/users/me/messages?uploadType=multipart

设置了以下http标头:

Content-Length: <n>
Content-Type: application/json

发布的json数据如下所示:

{
"labelIds": ["Label_154"],
"raw": "RnJvbTo..."
}

(原始数据当然是一个更大的基于64位编码的RFC-822消息)

这适用于一位客户,他们正在收到http 413错误 一些消息,我相信这意味着消息太大了。我有 尚未发现实际消息有多大。我见过一些文档 这说我应该使用这个网址:

https://www.googleapis.com/upload/gmail/v1/users/me/messages?uploadType=multipart

然后API抱怨json不受支持,我应该使用 内容类型消息/ rfc822。我希望继续使用json和 原始编码数据,所以我不必对我的代码进行实质性更改。 你能告诉我这个方法的实际消息大小限制是多少, 有没有办法可以使用不同的端点达到35mb的全部限制?

1 个答案:

答案 0 :(得分:1)

对于大于几MB的任何内容,最好使用媒体(/上传)路径。是的,只接受电子邮件消息(message / rfc822 payload)。希望改变代码不应该太难。由于您必须要将base64(message / rfc822)发送到现有的JSON端点,因此您可以停止执行消息的base64,然后将其包装在JSON中。

如果你使用/ upload端点,你将能够一直发送消息到最大gmail消息大小(25MB,在base64编码之后可能多达34MB)。