Google apps script 在谷歌应用程序脚本中使用GMail API发送电子邮件

Google apps script 在谷歌应用程序脚本中使用GMail API发送电子邮件,google-apps-script,google-api,gmail,sendmail,urlfetch,Google Apps Script,Google Api,Gmail,Sendmail,Urlfetch,我有一封未经处理的电子邮件(在操场上测试和工作),我想用谷歌的“来自谷歌应用程序”脚本发送它 我找不到请求的正确语法: var RequestUrl = "https://www.googleapis.com/gmail/v1/users/emailAccount/messages/send"; var RequestArguments = { muteHttpExceptions:true, headers: {Authorization: 'Bearer ' + token

我有一封未经处理的电子邮件(在操场上测试和工作),我想用谷歌的“来自谷歌应用程序”脚本发送它

我找不到请求的正确语法:

var RequestUrl = "https://www.googleapis.com/gmail/v1/users/emailAccount/messages/send";

var RequestArguments = {
    muteHttpExceptions:true,
    headers: {Authorization: 'Bearer ' + token
             'GData-Version': '3.0',
             'Content-Type': "message/rfc822",
             },
    payload: {"raw":raw},
    method:"post"
  };    

var result = UrlFetchApp.fetch(RequestUrl,RequestArguments);

我的语法有什么问题?

在谷歌应用程序脚本中,您可以使用,而无需直接使用Web API。记住,服务必须是安全的

/**
*发送原始RFC 2822格式和base64url编码的电子邮件
*使用高级Gmail服务。
*
*从http://stackoverflow.com/a/35073785/1677912
*
*@param{String}原始RFC 2822格式和base64url编码的消息
*
*@返回消息的{String}消息ID(现在在已发送消息中)。
*/
函数sendRawMessage(原始){
var message=Gmail.newMessage();
message.raw=raw;
var sentMsg=Gmail.Users.Messages.send(message'me');
返回sentMsg.id;
}

我找到了问题的解决方案:

var RequestArguments = {
  headers: {Authorization: 'Bearer ' + token},
  method: "post",
  contentType: "application/json",
  payload: JSON.stringify(jsonMessage)
};

jsonMessage是整个消息,而不仅仅是原始部分

您遇到了什么错误?您应该先阅读我的,并使用其中的一些技术来检查API返回的任何信息。这是真的,但我想从一个不是有效用户的帐户发送电子邮件。这是一个需要忽略的大细节,你不觉得吗?@Mogsdad有没有办法代表其他用户使用高级API来实现这一点?i、 e.他们已经授权了我的应用程序,我如何通过高级服务传递oauth令牌?