我可以在我的应用程序中使用oAuth从gmail发送邮件。当我发送邮件附件大小约为6.5 MB时,收到400错误请求错误。 这适用于附件较少的邮件。
gmail管理页面中是否有任何配置来设置附件的最大大小? 以下是我收到的回复:
2016-05-25 04:45:35 ERROR dataPull:219 - sendMail: 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>
答案 0 :(得分:0)
您可以通过转到您网域的管理控制台,安全管理API客户端访问页面并从开发者控制台添加400 Bad Request
来修复Client ID
,添加Gmail API所需的范围。检查Delegation domain-wide authority to the service account。
它们适用于不需要用户的API,或者当您使用Google Apps for Work域并希望为域中的所有用户启用委派时。
正如document所述,如果新源中的请求结果在语法或语义上无效,则服务器返回400 Bad Request HTTP状态代码,源状态保持不变。
这是一张相关的SO票,在发送电子邮件时讨论400 Bad Request:Gmail api Sending email 400 bad request
关于文件大小限制,根据Official Google Documentation,最大上传文件大小是您可以在方法中存储的最大数据量,您可以通过以下任何方式进行上传请求:
简单上传[https://developers.google.com/gmail/api/guides/uploads#simple]:uploadType = media。用于快速传输较小的文件,例如,5 MB或更少。
分段上传[https://developers.google.com/gmail/api/guides/uploads#multipart]:uploadType = multipart。用于快速传输较小的文件和元数据;在一个请求中传输文件以及描述它的元数据。
可恢复上传[https://developers.google.com/gmail/api/guides/uploads#resumable]:uploadType = resumable。对于可靠的传输,对于较大的文件尤为重要。使用此方法,您可以使用会话发起请求,该请求可选择包含元数据。
这是一张询问电子邮件附件大小限制的SO票证:Gmail API - size limit batching of emails with attachments?