Откройте черновик электронного письма после его создания

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

Вот мой текущий код, черновик хорошо создан, но я не нашел способа его открыть. Мне нужно перейти в раздел «Черновики», чтобы открыть его.

var responseDownload = UrlFetchApp.fetch(urlDownload, params);    
    
var theFile = Utilities.newBlob(responseDownload)
  .setName(json.entry.name)
  .setContentTypeFromExtension();

var recipient = "";
var subject = "";
var body = "\n\nThis draft was automatically generated.";
var options = 
    {
      attachments: [theFile]
    };
  
  var draft = GmailApp.createDraft(recipient, subject, body, options);


person Albenss    schedule 30.07.2018    source источник
comment
как вы вызываете код, который вы здесь показываете? developers.google.com/gmail/add-ons/how-tos/ сочинять   -  person tehhowch    schedule 31.07.2018
comment
Это результат действия, прикрепленного к кнопке, когда я нажимаю «Отправить этот файл», эта функция вызывается.   -  person Albenss    schedule 31.07.2018
comment
Это полезно в вашей ситуации? Вы можете получить созданный черновик с помощью GmailApp.getDrafts(). А также вы можете получить каждое сообщение черновиков и обновить его. Подробную информацию можно увидеть здесь.   -  person Tanaike    schedule 31.07.2018


Ответы (1)


Это хороший вопрос. К сожалению, CardService - единственный способ создавать надстройки, и он не управляет интерфейсом GmailUI, за исключением открытия всплывающего окна для создания сообщения.

Вы также можете обратиться к этому сообщению SO.

Обновление: чтобы открыть всплывающее окно для создания сообщения:

function renderComposeMail(e) {
// Activate temporary Gmail add-on scopes, in this case to allow
// a reply to be drafted.
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);

var draft = GmailApp.createDraft(e.parameters.senderEmail, "subject", "body");
var card = CardService.newComposeActionResponseBuilder().setGmailDraft(draft);
return card.build();}

Вызов этого метода при нажатии кнопки или любом желаемом событии.

person hhsb    schedule 31.07.2018
comment
Спасибо, проверю как можно скорее :) - person Albenss; 31.07.2018
comment
Он работает хорошо, но только с таким действием: var button = CardService.newTextButton () .setText ('Reply') .setComposeAction (action, CardService.ComposedEmailType.REPLY_AS_DRAFT); Спасибо за вашу помощь ! - person Albenss; 01.08.2018
comment
Однако REPLY_AS_DRAFT ответит в том же потоке. Это нормально ? - person hhsb; 02.08.2018
comment
Это очень хороший момент, я просто перешел на STANDALONE_DRAFT, так как я спрашиваю пользователя, хочет ли он создать пустой черновик или ответить, еще раз спасибо. - person Albenss; 02.08.2018