Dịch vụ di chuyển nhóm SDK dành cho quản trị viên

Tập lệnh để di chuyển email sang kho lưu trữ thảo luận của Google Groups.

Dịch vụ Di chuyển nhóm của SDK quản trị cho phép bạn sử dụng API Di chuyển nhóm trong Google Apps Script. API này cho phép quản trị viên của các miền Google Workspace (bao gồm cả đại lý bán lại) di chuyển email từ các thư mục công khai và danh sách phân phối sang kho lưu trữ thảo luận của Google Groups.

Đây là một dịch vụ nâng cao mà bạn phải bật trước khi sử dụng.

Tài liệu tham khảo

Để biết thông tin chi tiết về dịch vụ này, hãy xem tài liệu tham khảo về API Di chuyển nhóm của SDK quản trị. Giống như tất cả các dịch vụ nâng cao trong Apps Script, dịch vụ Di chuyển nhóm của SDK quản trị sử dụng cùng các đối tượng, phương thức và tham số như API công khai. Để biết thêm thông tin, hãy xem bài viết Cách xác định chữ ký phương thức.

Để báo cáo vấn đề và tìm các hình thức hỗ trợ khác, hãy xem hướng dẫn hỗ trợ về dịch vụ Di chuyển nhóm của SDK quản trị.

Mã mẫu

Mã mẫu sau đây sử dụng phiên bản 1 của API.

Di chuyển email từ Gmail sang một Nhóm Google

Mẫu này lấy 3 thông báo được định dạng RFC 822 từ mỗi trong số 3 chuỗi mới nhất trong hộp thư đến Gmail của người dùng, tạo một blob từ nội dung email (bao gồm cả tệp đính kèm) và chèn blob đó vào một Nhóm Google trong miền.

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