Отправить вложение API Gmail с помощью Flutter - PullRequest
0 голосов
/ 14 июля 2020

Мне удалось отправить электронное письмо через gmail Api, но не могли бы вы мне помочь, как отправить вложение?

var encodedSubject = base64Url.encode(utf8.encode(subject));
subject = '=?utf-8?B?$encodedSubject?=';
var content =
        '''Content-Type: text/html; charset=utf-8\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nto: ${recipients[0]}\nsender: $userId\nsubject: $subject\n\n$body''';
    var encodedJson =
        json.encode({'raw': base64Url.encode(utf8.encode(content))});

String url = 'https://www.googleapis.com/gmail/v1/users/' +
        userId +
        '/messages/send';

final http.Response response =
        await http.post(url, headers: header, body: encodedJson);

1 Ответ

0 голосов
/ 15 июля 2020

Я настоятельно рекомендую вам ознакомиться с документацией API и, в частности, с частью Создание сообщений с вложениями :

Создание сообщение с вложением похоже на создание любого другого сообщения, но процесс загрузки файла в виде сообщения MIME, состоящего из нескольких частей, зависит от языка программирования.

Также есть целый раздел, просто описывающий необходимый запрос (без библиотек) для загрузки вложений , есть несколько способов сделать это в зависимости от вашего файла или ожидаемого результата.

Также может быть полезно взглянуть на mime репозиторий для многостраничной обработки mime в dart.

...