在调用gmail api发送带附件的电子邮件(multipart)时,请求的正文如何?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在调用gmail api发送带附件的电子邮件(multipart)时,请求的正文如何?相关的知识,希望对你有一定的参考价值。
Google文档举例如下:
POST / upload / gmail / v1 / users / userId / messages / send?uploadType = multipart HTTP / 1.1 Host:www.googleapis.com授权:Bearer your_auth_token内容类型:multipart / related; boundary = foo_bar_baz Content-Length:number_of_bytes_in_entire_request_body
--foo_bar_baz Content-Type:application / json;字符集= UTF-8
{“id”:string,“threadId”:string,“labelIds”:[string],“snippet”:string,“historyId”:unsigned long,“payload”:{“partId”:string,“mimeType”:string ,“filename”:string,“headers”:[{“name”:string,“value”:string}],“body”:users.messages.attachments资源,“parts”:[(MessagePart)]},“ sizeEstimate“:integer,”raw“:bytes}
--foo_bar_baz Content-Type:message / rfc822
电子邮件消息数据--foo_bar_baz--如果请求成功,服务器将返回HTTP 200 OK状态代码以及任何元数据:
HTTP / 1.1 200 Content-Type:application / json
{“id”:string,“threadId”:string,“labelIds”:[string],“snippet”:string,“historyId”:unsigned long,“payload”:{“partId”:string,“mimeType”:string ,“filename”:string,“headers”:[{“name”:string,“value”:string}],“body”:users.messages.attachments资源,“parts”:[(MessagePart)]},“ sizeEstimate“:integer,”raw“:bytes}
有人可以通过查看上面的示例来制作样本请求正文吗?我需要发送附件的电子邮件。
基于SO related post,身体要求可以是这样的:
var mail = [
'Content-Type: multipart/mixed; boundary="foo_bar_baz"
',
'MIME-Version: 1.0
',
'From: sender@gmail.com
',
'To: receiver@gmail.com
',
'Subject: Subject Text
',
'--foo_bar_baz
',
'Content-Type: text/plain; charset="UTF-8"
',
'MIME-Version: 1.0
',
'Content-Transfer-Encoding: 7bit
',
'The actual message text goes here
',
'--foo_bar_baz
',
'Content-Type: image/png
',
'MIME-Version: 1.0
',
'Content-Transfer-Encoding: base64
',
'Content-Disposition: attachment; filename="example.png"
',
pngData, '
',
'--foo_bar_baz--'
].join('');
var response = UrlFetchApp.fetch(
"https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=media", {
method: "POST",
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken(),
"Content-Type": "message/rfc822",
},
muteHttpExceptions: true,
payload: mail
});
这里还有来自Amit Agarwal在Google Appscript中编写的数字灵感的example code。此示例显示了如何使用Gmail API轻松发送带文件附件的电子邮件。
以上是关于在调用gmail api发送带附件的电子邮件(multipart)时,请求的正文如何?的主要内容,如果未能解决你的问题,请参考以下文章
调用 gmail api 以发送带有附件(多部分)的电子邮件时,请求的正文如何?
使用 Gmail API 发送的邮件中缺少附件,但仅适用于收件人