Serviço de migração de grupos do SDK Admin

O serviço de migração de grupos do SDK Admin permite que você use a API Groups Migration do SDK Admin no Apps Script. Essa API permite que os administradores de Google Workspace domínios (incluindo revendedores) migrem e-mails de pastas públicas e listas de distribuição para os arquivos de discussão dos Grupos do Google.

Referência

Para informações detalhadas sobre esse serviço, consulte a documentação de referência da API Admin SDK Groups Migration. Assim como todos os serviços avançados no Apps Script, o serviço de migração de grupos do SDK Admin usa os mesmos objetos, métodos e parâmetros que a API pública. Para saber mais, consulte Como as assinaturas de método são determinadas.

Para relatar problemas e encontrar suporte, consulte o Guia de suporte para migração de grupos de SDKs de administrador.

Exemplo de código

O exemplo de código abaixo usa a versão 1 da API.

Migrar e-mails do Gmail para um Grupo do Google

Este exemplo recebe três mensagens formatadas como RFC 822 de cada uma das três conversas mais recentes na caixa de entrada do Gmail do usuário, cria um blob com o conteúdo de e-mail (incluindo anexos) e o insere em um Grupo do Google no domínio.

advanced/adminSDK.gs
/**
 * Gets three RFC822 formatted messages from the each of the latest three
 * threads in the user's Gmail inbox, creates a blob from the email content
 * (including attachments), and inserts it in a Google Group in the domain.
 */
function migrateMessages() {
  // TODO (developer) - Replace groupId value with yours
  const groupId = 'exampleGroup@example.com';
  const messagesToMigrate = getRecentMessagesContent();
  for (const messageContent of messagesToMigrate) {
    const contentBlob = Utilities.newBlob(messageContent, 'message/rfc822');
    AdminGroupsMigration.Archive.insert(groupId, contentBlob);
  }
}

/**
 * Gets a list of recent messages' content from the user's Gmail account.
 * By default, fetches 3 messages from the latest 3 threads.
 *
 * @return {Array} the messages' content.
 */
function getRecentMessagesContent() {
  const NUM_THREADS = 3;
  const NUM_MESSAGES = 3;
  const threads = GmailApp.getInboxThreads(0, NUM_THREADS);
  const messages = GmailApp.getMessagesForThreads(threads);
  const messagesContent = [];
  for (let i = 0; i < messages.length; i++) {
    for (let j = 0; j < NUM_MESSAGES; j++) {
      const message = messages[i][j];
      if (message) {
        messagesContent.push(message.getRawContent());
      }
    }
  }
  return messagesContent;
}