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 domaines Google Workspace (y compris les revendeurs) de migrer les e-mails des dossiers publics et des listes de diffusion vers les archives des discussions Google Groupes.

Référence

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 de groupes du SDK Admin utilise les mêmes objets, méthodes et paramètres que l'API publique. Pour en savoir plus, consultez Déterminer les signatures de méthode.

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.

Migrer des e-mails de Gmail vers un groupe Google

Cet exemple récupère trois messages au format RFC 822 à partir de chacun des trois derniers fils de discussion 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;
}