Google文档提供了以下示例:
POST / upload / gmail / v1 / users / userId / messages / send?uploadType = multipart HTTP / 1.1 主持人:www.googleapis.com 授权:不记名your_auth_token 内容类型:多部分/相关; boundary = foo_bar_baz 内容长度:number_of_bytes_in_entire_request_body
-foo_bar_baz 内容类型:application / json; charset = UTF-8
{ “ id”:字符串, “ threadId”:字符串, “ labelIds”:[ 串 ], “代码段”:字符串, “ historyId”:无符号长, “有效载荷”:{ “ partId”:字符串, “ mimeType”:字符串, “文件名”:字符串, “标题”:[ { “名称”:字符串, “值”:字符串 } ], “正文”:users.messages.attachments资源, “部分”: [ (MessagePart) ] }, “ sizeEstimate”:整数, “原始”:字节 }
-foo_bar_baz 内容类型:message / rfc822
电子邮件消息数据 --foo_bar_baz-- 如果请求成功,服务器将返回HTTP 200 OK状态代码以及任何元数据:
HTTP / 1.1 200 内容类型:application / json
{ “ id”:字符串, “ threadId”:字符串, “ labelIds”:[ 串 ], “代码段”:字符串, “ historyId”:无符号长, “有效载荷”:{ “ partId”:字符串, “ mimeType”:字符串, “文件名”:字符串, “标题”:[ { “名称”:字符串, “值”:字符串 } ], “正文”:users.messages.attachments资源, “部分”: [ (MessagePart) ] }, “ sizeEstimate”:整数, “原始”:字节 }
有人可以通过查看上面的示例来制作示例请求正文吗? 我需要发送带有附件的电子邮件。
答案 0 :(得分:0)
基于SO related post,正文请求可以是这样的:
var mail = [
'Content-Type: multipart/mixed; boundary="foo_bar_baz"\r\n',
'MIME-Version: 1.0\r\n',
'From: sender@gmail.com\r\n',
'To: receiver@gmail.com\r\n',
'Subject: Subject Text\r\n\r\n',
'--foo_bar_baz\r\n',
'Content-Type: text/plain; charset="UTF-8"\r\n',
'MIME-Version: 1.0\r\n',
'Content-Transfer-Encoding: 7bit\r\n\r\n',
'The actual message text goes here\r\n\r\n',
'--foo_bar_baz\r\n',
'Content-Type: image/png\r\n',
'MIME-Version: 1.0\r\n',
'Content-Transfer-Encoding: base64\r\n',
'Content-Disposition: attachment; filename="example.png"\r\n\r\n',
pngData, '\r\n\r\n',
'--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轻松发送带有文件附件的电子邮件。