Google apps script 如何使用GMAIL API从Google应用程序脚本发送电子邮件?
我正在尝试使用谷歌应用程序脚本中的Gmail API从我的帐户自动发送电子邮件 这是我的密码:Google apps script 如何使用GMAIL API从Google应用程序脚本发送电子邮件?,google-apps-script,gmail-api,Google Apps Script,Gmail Api,我正在尝试使用谷歌应用程序脚本中的Gmail API从我的帐户自动发送电子邮件 这是我的密码: function email_checker() { var yourEmailAddress = "###@gmail.com"; var myEmailAddress = "support@###.com"; var subject = "testing mail"; var forScope = GmailApp.get
function email_checker() {
var yourEmailAddress = "###@gmail.com";
var myEmailAddress = "support@###.com";
var subject = "testing mail";
var forScope = GmailApp.getInboxUnreadCount();
var htmlBody = '<html><body>' + '<h1>HI</h1>' + '</body></html>';
var message = 'From: Me <' + myEmailAddress + '>\r\n' +
'To: Me <' + myEmailAddress + '>\r\n' +
'Subject: ' + subject + '\r\n' +
'Content-Type: text/html; charset=utf-8\r\n' +
'Content-Transfer-Encoding: quoted-printable\r\n\r\n' +
htmlBody;
var draftBody = Utilities.base64Encode(message);
draftBody = draftBody.replace(/\//g, '_').replace(/\+/g, '-');
var params = {
method: "post",
contentType: "application/json",
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true,
payload: JSON.stringify({
"message": {
"raw": draftBody
}
})
};
var resp = UrlFetchApp.fetch("https://gmail.googleapis.com/upload/gmail/v1/users/me/messages/send", params);
Logger.log(resp.getContentText());
}
功能电子邮件检查程序(){
var yourEmailAddress=“###@gmail.com”;
var myEmailAddress=“support@####com”;
var subject=“测试邮件”;
var forScope=GmailApp.getInboxUnderCount();
var htmlBody=''+'高'+'';
var message='From:Me\r\n'+
'收件人:我\r\n'+
'主题:'+Subject+'\r\n'+
'内容类型:text/html;charset=utf-8\r\n'+
'内容传输编码:带引号的可打印\r\n\r\n'+
htmlBody;
var draftBody=Utilities.base64Encode(消息);
draftBody=draftBody.replace(//\//g,''.''.')。replace(//\+/g,'-');
变量参数={
方法:“张贴”,
contentType:“应用程序/json”,
标题:{
“授权”:“承载者”+ScriptApp.getOAuthToken()
},
muteHttpExceptions:true,
有效负载:JSON.stringify({
“信息”:{
“原始”:牵引体
}
})
};
var resp=UrlFetchApp.fetch(“https://gmail.googleapis.com/upload/gmail/v1/users/me/messages/send“,参数);
Logger.log(resp.getContentText());
}
我收到以下错误:不支持媒体类型“application/json”
谁能告诉我我做错了什么
谢谢。我相信你的目标和你目前的情况如下
- 您想使用Gmail API和UrlFetchApp发送电子邮件
- 您已经完成了发送电子邮件的设置。
- Gmail API已启用
- 可以包括发送电子邮件的范围
- 从endtpoint可以发现使用了媒体上载请求
- 在这种情况下,,
- 请求主体需要使用
多部分/备选方案创建
- 不需要将base64编码与web safe一起使用
- 使用
需要内容类型消息/rfc822
- 创建的请求正文可直接用于
有效负载
- 请求主体需要使用
var params = {
method: "post",
contentType: "application/json",
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true,
payload: JSON.stringify({"raw": draftBody})
};
var resp = UrlFetchApp.fetch("https://gmail.googleapis.com/gmail/v1/users/me/messages/send", params);
Logger.log(resp.getContentText());
var draftBody=Utilities.base64Encode(消息);draftBody=draftBody.replace(//\//g,''.''.')。replace(//\+/g,'-')代码>也可以修改为var draftBody=Utilities.base64EncodeWebSafe(message)代码>
- 您想使用Gmail API和UrlFetchApp发送电子邮件
- 您已经完成了发送电子邮件的设置。
- Gmail API已启用
- 可以包括发送电子邮件的范围
- 从endtpoint可以发现使用了媒体上载请求
- 在这种情况下,,
- 请求主体需要使用
多部分/备选方案创建
- 不需要将base64编码与web safe一起使用
- 使用
需要内容类型消息/rfc822
- 创建的请求正文可直接用于
有效负载
- 请求主体需要使用
- 到
var params = { method: "post", contentType: "application/json", headers: { "Authorization": "Bearer " + ScriptApp.getOAuthToken() }, muteHttpExceptions: true, payload: JSON.stringify({"raw": draftBody}) }; var resp = UrlFetchApp.fetch("https://gmail.googleapis.com/gmail/v1/users/me/messages/send", params); Logger.log(resp.getContentText());
- 在这种情况下,
var draftBody=Utilities.base64Encode(消息);draftBody=draftBody.replace(//\//g,''.''.')。replace(//\+/g,'-')代码>也可以修改为
var draftBody=Utilities.base64EncodeWebSafe(message)代码>
- 我相信你的目标和你目前的情况如下
var params = {
method: "post",
contentType: "application/json",
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true,
payload: JSON.stringify({"raw": draftBody})
};
var resp = UrlFetchApp.fetch("https://gmail.googleapis.com/gmail/v1/users/me/messages/send", params);
Logger.log(resp.getContentText());