Migrationsdienst für Admin SDK-Gruppen

Mit dem Admin SDK-Migrationsdienst für Gruppen können Sie die Groups Migration API des Admin SDK in Apps Script verwenden. Mit dieser API können Administratoren von Domains (einschließlich Resellern) E-Mails aus öffentlichen Ordnern und Verteilerlisten in Google Groups-Diskussionsarchive migrieren.

Referenz

Weitere Informationen zu diesem Dienst finden Sie in der Referenzdokumentation für die Admin SDK Groups Migration API. Wie alle erweiterten Dienste in Apps Script verwendet der Admin SDK-Migrationsdienst für Gruppen dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter Methodensignaturen bestimmen.

Informationen zum Melden von Problemen und zum Erhalt weiterer Unterstützung finden Sie im Supportleitfaden für die Migration von Admin SDK-Gruppen.

Beispielcode

Im folgenden Beispielcode wird Version 1 der API verwendet.

E-Mails aus Gmail zu einer Google-Gruppe migrieren

In diesem Beispiel werden drei Nachrichten im RFC 822-Format aus den jeweils drei neuesten Threads im Gmail-Posteingang des Nutzers abgerufen, ein Blob aus dem E-Mail-Inhalt (einschließlich Anhängen) erstellt und in eine Google-Gruppe in der Domain eingefügt.

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