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

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

هذه خدمة متقدّمة يجب تفعيلها قبل استخدامها .

مراجع

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

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

رمز نموذجي

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

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

يحصل هذا النموذج على ثلاث رسائل من كل من آخر ثلاث سلاسل محادثات في صندوق البريد الوارد للمستخدم بتنسيق RFC 822، وينشئ كائنًا ثنائيًا كبيرًا من محتوى الرسالة الإلكترونية (بما في ذلك المرفقات)، ويُدرِجه في "مجموعة 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;
}