Когда я использую Python для генерации строки base64
, которая будет использоваться в raw key { 'raw': value }
GMAIL API
, отправка электронной почты происходит идеально.
Но когда я использую Dart для генерации той же строки base64
, строка не совпадает с python, и поэтому я не могу отправить электронное письмо, потому что API GMAIL сообщает мне message: Invalid value for ByteString
Строка, которая будет преобразована в base64:
var message = '''<html><meta http-equiv="content-type" content="text/html; charset=utf-8"/><head></head><body>Test</body></html>'''
Код Python:
import base64
e = base64.urlsafe_b64encode('''<html><meta http-equiv="content-type" content="text/html; charset=utf-8"/><head></head><body>Test</body></html>''')
print(e)
результат:
PGh0bWw-PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz48aGVhZD48L2hlYWQ-PGJvZHk-VGVzdDwvYm9keT48L2h0bWw-
Код дротика:
import 'dart:convert';
var _bytes = utf8.encode('''<html><meta http-equiv="content-type" content="text/html; charset=utf-8"/><head></head><body>Test</body></html>''');
var _base64 = base64Encode(_bytes);
print(_base64);
результат:
PGh0bWw+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz48aGVhZD48L2hlYWQ+PGJvZHk+VGVzdDwvYm9keT48L2h0bWw+
Обратите внимание, что единственным отличием является знак +
в строке base64 Дротика и знак -
в строке base64 Python
Как я могу сгенерировать тот же код Python Base64, чтобы я мог отправить электронное письмо в API GMAIL