'Google REST API - message in an RFC 2822 formatted and base64url encoded string
I try the use the - try it of Google REST API - Users.messages: send .
There is there a required parameter - raw -
The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
I checked about RFC 2822 format and seems it should displayed as the sample here , then I encoded it the base64URL with this encoder and paste it the raw field of the try it and I get - Invalid value for ByteString: http://ostermiller.org/calc/encode.html .
Can you provide me a correct RFC 2822 format and its corresponding base64URL which it would work in the above try it ?
Solution 1:[1]
you can use this in node REPL or online node compiler and get the json
function createMessageJson(){
const messages = [
'From: NAME <[email protected]>',
'To: Name <[email protected]>',
'Content-Type: text/html; charset=utf-8',
'MIME-Version: 1.0',
'Subject: Re: SUBJECT',
'',
'BODY_TEXT',
'',
];
function encodedMessage (){
return Buffer.from(messages.join('\n'))
.toString('base64')
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '');
}
return JSON.stringify({
raw: encodedMessage()
});
}
console.log(createMessageJson())
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Gal Morad |
