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

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

مَراجع

للحصول على معلومات تفصيلية عن هذه الخدمة، يُرجى الاطّلاع على المستندات المرجعية لـ Admin SDK Groups Migration API. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة نقل بيانات "مجموعات Google" في "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;
}