Yönetici SDK'sı Gruplar Taşıma Hizmeti

Yönetici SDK'sı Grup Taşıma hizmeti, Yönetici SDK'sının Grup Taşıma API'sini Apps Script'te kullanmanıza olanak tanır. Bu API, alan adlarının (bayiler dahil) yöneticilerine, ortak klasörlerden ve dağıtım listelerinden Google Gruplar tartışma arşivlerine e-posta taşıma olanağı sunar.

Referans

Bu hizmet hakkında ayrıntılı bilgi için Yönetici SDK'sı Groups Migration API'nin referans dokümanlarına bakın. Apps Script'teki tüm gelişmiş hizmetler gibi Yönetici SDK'sı Grup Taşıma hizmeti de herkese açık API ile aynı nesneleri, yöntemleri ve parametreleri kullanır. Daha fazla bilgi için Metod imzaları nasıl belirlenir? başlıklı makaleyi inceleyin.

Sorunları bildirmek ve başka destek almak için Admin SDK Groups taşıma destek kılavuzuna göz atın.

Örnek kod

Aşağıdaki örnek kodda API'nin 1. sürümü kullanılmaktadır.

E-postaları Gmail'den Google Gruplar'a taşıma

Bu örnek, kullanıcının Gmail gelen kutusundaki en son üç ileti dizisinin her birinden üç RFC 822 biçimli ileti alır, e-posta içeriğinden (ekler dahil) bir blob oluşturur ve bu blob'u alandaki bir Google grubuna ekler.

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