Service de migration des groupes du SDK Admin

Le service de migration de Groupes du SDK Admin vous permet d'utiliser l'API Groups Migration du SDK Admin dans Apps Script. Cette API permet aux administrateurs de Google Workspace domaines (y compris les revendeurs) de transférer des e-mails à partir de dossiers publics et de listes de distribution vers les archives de discussion de Google Groupes.

Reference

Pour en savoir plus sur ce service, consultez la documentation de référence de l'API Groups Migration du SDK Admin. Comme tous les services avancés d'Apps Script, le service de migration des groupes du SDK Admin utilise les mêmes objets, méthodes et paramètres que l'API publique. Pour en savoir plus, consultez la section Comment les signatures de méthode sont-elles déterminées ?

Pour signaler des problèmes et obtenir de l'aide, consultez le guide d'assistance pour la migration des groupes du SDK Admin.

Exemple de code

L'exemple de code ci-dessous utilise la version 1 de l'API.

Transférer des e-mails de Gmail vers un groupe Google

Cet exemple reçoit trois messages au format RFC 822 provenant de chacun des trois derniers threads de la boîte de réception Gmail de l'utilisateur, crée un blob à partir du contenu de l'e-mail (y compris les pièces jointes) et l'insère dans un groupe Google du domaine.

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;
}