作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 javascript 中使用 Gmail Api 发送邮件,但出现 401 错误(需要登录)。我的应用程序已经获得授权,我有一个访问 token 。
这是我要运行的代码:
gapi.client.load('gmail', 'v1',
var email = ''{my mail content};
var sendRequest = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': window.btoa(email).replace(/\+/g, '-').replace(/\//g, '_')
}
});
return sendRequest.execute(callback);
});
请帮我做什么?提前致谢。
最佳答案
考虑到您是从前端发送消息,您实际上并不需要使用客户端库。你可以只使用 JQuery 或类似的东西:
// You can test with your own account by getting a token here:
// https://developers.google.com/oauthplayground/
var accessToken = 'ya29...';
// Base64-encode the mail and make it URL-safe
// (replace all '+' with '-' and all '/' with '_')
var encodedMail = btoa([
'From: sender@gmail.com\r\n',
'To: receiver@gmail.com\r\n',
'Subject: Subject Text\r\n\r\n',
'Message Text'
].join('')).replace(/\+/g, '-').replace(/\//g, '_');
$.ajax({
method: 'POST',
url: 'https://www.googleapis.com/gmail/v1/users/me/messages/send',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
data: JSON.stringify({
'raw': encodedMail
})
});
您可以对邮件进行编码并在 API explorer 中尝试首先。
关于javascript - 如何在 Javascript 中设置通过 Gmail Api 发送邮件的授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36666770/
我是一名优秀的程序员,十分优秀!