Приветствуем поклонников API Gmail.Отправка через API Gmail с непереносимого адреса электронной почты
Я написал совершенно удивительный код, который аккуратно аутентифицирует и отправляет электронную почту с использованием API Gmail с JavaScript.
Однако, даже если мозг такой же большой, как у меня, у меня есть проблема. В то время как электронные письма отправляются с использованием gapi.client.gmail.users.messages.send
с userId
, установленным на "me"
, я не могу его отправить вместо альтернативного группового адреса, связанного с моей учетной записью.
Например, если я пытаюсь изменить userId
на "[email protected]"
, выполнение выполняет ошибку 401 «Требуется регистрация», даже если этот адрес электронной почты связан с моей учетной записью Gmail.
Любые идеи, что происходит?
smidgeon кода ниже:
// Stuff gleaned from a form
var headers = {
'subject': e.data.subject,
'to': e.data.to,
'cc': e.data.cc,
'bcc': e.data.bcc,
'content-type': 'text/html; charset=utf-8'
};
// grab the email content
message = editor.getContent({format : 'raw'});
// construct the email
var email = '';
for(var header in headers)
email += header += ': ' + headers[header] + '\r\n';
email += '\r\n' + message;
// This is the bit - changing userId to anything other than 'me' (or the primary email address) kicks error
var sendRequest = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_')
}
});
return sendRequest.execute(function(){});
}
Это работает, если вы ее кодируете? 'encodeURIComponent (isy[email protected] ') ===" myalternate% 40somewhere.com "' – Tholle
Приятное мышление, но, к сожалению, это не имеет значения. Я могу изменить userId от «меня» до «[email protected]», и он все еще работает - он отправляет с основного адреса электронной почты в порядке. – Booboobeaker