A partir de 4D v20 R4, estamos adicionando uma dupla de melhorias poderosas ao conjunto de comandos Gmail.
A primeira caraterística permite-lhe recuperar vários emails simultaneamente, e a segunda permite-lhe gerir emails com etiquetas.
Continue lendo para saber todos os detalhes.
Ligação à conta
Antes de criar um e-mail, vamos criar um objeto de ligação OAuth 2.0 e um objeto Google.
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($credentials)
$google:=cs.NetKit.Google.new($oAuth2; {mailType: "JMAP"})
Adicionar ou remover etiquetas de correio eletrônico
As etiquetas são utilizadas para categorizar os e-mails. São semelhantes às pastas noutros sistemas de correio eletrônico. Mas o que há de especial nas etiquetas é que pode atribuir várias etiquetas ao mesmo e-mail. Esta etiqueta pode ser uma etiqueta personalizada ou do sistema, como INBOX, SPAM, LIXO, NÃO LIDO, COMEÇADO ou IMPORTANTE. Por exemplo, uma mensagem de correio eletrônico pode ser etiquetada como “Trabalho” e “IMPORTANTE” com a função .update():
$status:=$google.mail.update($mailIds; {addLabelIds: ["Work"; "IMPORTANT"]})
Da mesma forma, pode remover etiquetas de mensagens de correio eletrônico com a função .update(). Por exemplo, se pretender remover a etiqueta NÃO LIDO:
$status:=$google.mail.update($mailIds; {removeLabelIds: ["UNREAD"]})
Descarregar várias mensagens de correio eletronico
Se tiver várias mensagens de correio eletrônico para descarregar, pode fazê-lo de uma só vez com a função .getMails():
$mailIds:=$google.mail.getMailIds({labelIds: ["INBOX","UNREAD"]})
// Gets the email according to the collection of mail ID
$mails:=$google.mail.getMails($mailIds)
A função .getMails() só pode obter 100 mensagens de correio eletrônico de uma só vez. Se precisar obter mais emails, chame esta função várias vezes.
Em resumo, essa versão enriquece o conjunto de comandos Gmail de 4D, oferecendo capacidades melhoradas como a recuperação simultânea de emails e gestão eficiente de etiquetas.
Para implementação detalhada, consulte a documentação.