【问题标题】:Gmail api & Admin SDK used to transfer emails between gmail accounts in the same organizationGmail api & Admin SDK 用于在同一组织的 Gmail 帐户之间传输电子邮件
【发布时间】:2017-01-11 01:44:39
【问题描述】:

使用 Google Admin SDK 和 gmail API 是否可以像 Google 数据迁移工具那样自动将用户电子邮件从一个帐户传输到另一个用户?

我正在寻找可以在自动化系统中实现的任何现有脚本或方法。 (解决方案可以包含python、javascript、php)

【问题讨论】:

    标签: javascript gmail-api google-admin-sdk


    【解决方案1】:

    尝试在应用脚本中使用Admin SDK Groups Migration Service

    提供了一个代码sn-p供你尝试:

    function migrateMessages() {
      var groupId = 'exampleGroup@example.com';
      var messagesToMigrate = getRecentMessagesContent();
      for (var i = 0; i < messagesToMigrate.length; i++) {
        var messageContent = messagesToMigrate[i];
        var 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() {
      var NUM_THREADS = 3;
      var NUM_MESSAGES = 3;
      var threads = GmailApp.getInboxThreads(0, NUM_THREADS);
      var messages = GmailApp.getMessagesForThreads(threads);
      var messagesContent = [];
      for (var i = 0; i < messages.length; i++) {
        for (var j = 0; j < NUM_MESSAGES; j++) {
          var message = messages[i][j];
          if (message) {
            messagesContent.push(message.getRawContent());
          }
        }
      }
      return messagesContent;
    }
    

    【讨论】:

    • 我没有尝试将其移至 Google 群组。我想将电子邮件移动到另一个用户帐户。用例:要删除用户 A,我希望在将电子邮件与帐户一起删除之前将电子邮件移至用户 B。
    • 感谢您的持续支持。但是我需要以编程方式执行此操作,因为它经常发生。
    猜你喜欢
    • 1970-01-01
    • 2015-07-15
    • 2017-12-21
    • 2021-09-29
    • 2015-11-29
    • 2012-03-30
    • 1970-01-01
    • 2016-04-20
    • 2023-04-08
    相关资源
    最近更新 更多