خدمة نقل بيانات مجموعات حزمة تطوير البرامج (SDK) للمشرف

تتيح لك خدمة "نقل بيانات المجموعات" في Admin SDK استخدام Groups Migration API في Admin SDK ضمن Apps Script. تتيح واجهة برمجة التطبيقات هذه لمشرفي نطاقات Google Workspace (بما في ذلك المورّدين) إمكانية نقل الرسائل الإلكترونية من المجلدات العامة وقوائم التوزيع إلى أرشيفات المناقشات في "مجموعات Google".

مراجع

للحصول على معلومات تفصيلية حول هذه الخدمة، يُرجى الاطّلاع على المستندات المرجعية لواجهة برمجة التطبيقات "نقل بيانات المجموعات" في حزمة Admin SDK. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة نقل البيانات إلى "مجموعات" في Admin SDK الكائنات والطُرق والمعلَمات نفسها التي تستخدمها واجهة برمجة التطبيقات العامة. لمزيد من المعلومات، اطّلِع على كيفية تحديد تواقيع الطرق.

للإبلاغ عن مشاكل والعثور على دعم آخر، يُرجى الاطّلاع على دليل دعم نقل المجموعات في Admin SDK.

نموذج التعليمات البرمجية

يستخدم نموذج الرمز البرمجي أدناه الإصدار 1 من واجهة برمجة التطبيقات.

نقل الرسائل الإلكترونية من Gmail إلى مجموعة Google

يحصل هذا النموذج على ثلاث رسائل منسَّقة بتنسيق RFC 822 من كل من أحدث ثلاث سلاسل محادثات في صندوق البريد الوارد في Gmail الخاص بالمستخدم، وينشئ كائنًا ثنائيًا كبيرًا من محتوى البريد الإلكتروني (بما في ذلك المرفقات)، ويدرجه في مجموعة Google في النطاق.

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