Dans un module complémentaire Google Workspace, vous pouvez créer des widgets. auxquelles des actions sont associées. Vous pouvez utiliser une action pour rédiger de nouveaux brouillons d'e-mails, en les renseignant si vous le souhaitez à l'aide de les informations saisies dans l'interface utilisateur du module complémentaire ou les informations d'un message ouvert. Par exemple, vous pouvez avoir un bouton dans votre Interface utilisateur des messages du module complémentaire qui crée une réponse au message actuellement ouvert, préremplie avec les informations du module complémentaire.
Lorsqu'une action de création de messages est déclenchée, Gmail exécute un rappel pour créer et renvoyer le brouillon. Gmail affiche alors le brouillon dans son Interface utilisateur dans une fenêtre de rédaction d'e-mail standard, que l'utilisateur peut ensuite modifier et envoyer si nécessaire.
Configurer une action pour créer un brouillon de message
Pour configurer un widget afin qu'il démarre une action de création de brouillon lorsqu'il est sélectionné, vous devez effectuer les opérations suivantes:
Vérifiez que votre fichier manifeste inclut les Champ d'application de
action.compose
:https://www.googleapis.com/auth/gmail.addons.current.action.compose
Vous pouvez utiliser un champ d'application plus permissif à la place, mais ne le faites que si cette portée est absolument nécessaire.
Créer un objet
Action
et l'associer à une fonction de rappel que vous définissez.Appelez la méthode
setComposeAction()
du widget. fonction de gestionnaire de widgets, en lui fournissant leAction
et en spécifiantComposeEmailType
Implémentez la fonction de rappel qui exécute l'action de création du brouillon. Ce reçoit un objet événement comme argument. La fonction de rappel doit effectuer les opérations suivantes:
- Créer un
GmailDraft
. - Créer une
ComposeActionResponse
à l'aide de l'objetComposeActionResponseBuilder
et leGmailDraft
. - Renvoyez le
ComposeActionResponse
compilé.
- Créer un
Vous pouvez préremplir le GmailDraft
que vous créez dans la fonction de rappel
les destinataires, l'objet, le corps du message et les pièces jointes. Pour remplir le brouillon,
les données peuvent provenir de n'importe quelle source, mais généralement, elles proviennent d'informations
fournies au module complémentaire lui-même, les informations contenues dans le message ouvert
les informations recueillies
auprès d’un service tiers. La
Objet événement
transmis à la fonction de rappel contient l'ID du message ouvert et d'autres modules complémentaires
que vous pouvez utiliser
pour préremplir le brouillon.
Vous pouvez créer le brouillon sous forme de message autonome ou de réponse à
un message existant. Ce paramètre est contrôlé
ComposeEmailType
énumération fournie au
setComposeAction()
Vous pouvez créer des brouillons de réponse sous la forme de réponses uniques ou de réponses à tous. messages.
Brouillons autonomes
Un brouillon autonome lance un nouveau fil de discussion et ne constitue une réponse à aucun message existant . Vous pouvez créer un brouillon autonome avec l'un des éléments suivants : Fonctions du service Gmail:
GmailApp.createDraft(recipient, subject, body)
GmailApp.createDraft(recipient, subject, body, options)
Brouillons de réponse
Un brouillon de réponse fait partie d'un fil de discussion existant. Les brouillons de réponse sont des réponses uniques qui ne sont envoyées qu'à l'expéditeur d'un message ou qui utilisent l'option "Répondre à tous" ou des brouillons envoyés à toutes les personnes qui le reçoivent. Vous pouvez créer un rédiger un brouillon de réponse dans l'un de ces service Gmail ; fonctions:
GmailMessage.createDraftReply(body)
GmailMessage.createDraftReply(body, options)
GmailMessage.createDraftReplyAll(body)
GmailMessage.createDraftReplyAll(body, options)
GmailThread.createDraftReply(body)
GmailThread.createDraftReply(body, options)
GmailThread.createDraftReplyAll(body)
GmailThread.createDraftReplyAll(body, options)
Exemple
L'extrait de code suivant montre comment attribuer une action qui génère une réponse le brouillon à un bouton.
var composeAction = CardService.newAction()
.setFunctionName('createReplyDraft');
var composeButton = CardService.newTextButton()
.setText('Compose Reply')
.setComposeAction(
composeAction,
CardService.ComposedEmailType.REPLY_AS_DRAFT);
// ...
/**
* Creates a draft email (with an attachment and inline image)
* as a reply to an existing message.
* @param {Object} e An event object passed by the action.
* @return {ComposeActionResponse}
*/
function createReplyDraft(e) {
// Activate temporary Gmail scopes, in this case to allow
// a reply to be drafted.
var accessToken = e.gmail.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
// Creates a draft reply.
var messageId = e.gmail.messageId;
var message = GmailApp.getMessageById(messageId);
var draft = message.createDraftReply('',
{
htmlBody: "Kitten! <img src='cid:kitten'/>",
attachments: [
UrlFetchApp.fetch('https://example.com/images/myDog.jpg')
.getBlob()
],
inlineImages: {
"kitten": UrlFetchApp.fetch('https://example.com/images/myKitten.jpg')
.getBlob()
}
}
);
// Return a built draft response. This causes Gmail to present a
// compose window to the user, pre-filled with the content specified
// above.
return CardService.newComposeActionResponseBuilder()
.setGmailDraft(draft).build();
}