0

I'm getting an error in creating a new message using create_message(). function listed over https://developers.google.com/gmail/api/guides/drafts.

def create_message(sender, to, subject, message_text):
    message = MIMEText(message_text)
    message['to'] = to
    message['from'] = sender
    message['subject'] = subject
    return {'raw': base64.urlsafe_b64encode(message.as_string())}

Error: TypeError: a bytes-like object is required, not 'str'

snakecharmerb
  • 47,570
  • 11
  • 100
  • 153
Y. Valiya
  • 1
  • 1

1 Answers1

0

base64.urlsafe_b64encode expects bytes, but the type of message.as_string() is str.

Use the message's as_bytes method instead.

return {'raw': base64.urlsafe_b64encode(message.as_bytes())}
snakecharmerb
  • 47,570
  • 11
  • 100
  • 153