【发布时间】:2017-01-11 01:44:39
【问题描述】:
使用 Google Admin SDK 和 gmail API 是否可以像 Google 数据迁移工具那样自动将用户电子邮件从一个帐户传输到另一个用户?
我正在寻找可以在自动化系统中实现的任何现有脚本或方法。 (解决方案可以包含python、javascript、php)
【问题讨论】:
标签: javascript gmail-api google-admin-sdk
使用 Google Admin SDK 和 gmail API 是否可以像 Google 数据迁移工具那样自动将用户电子邮件从一个帐户传输到另一个用户?
我正在寻找可以在自动化系统中实现的任何现有脚本或方法。 (解决方案可以包含python、javascript、php)
【问题讨论】:
标签: javascript gmail-api google-admin-sdk
尝试在应用脚本中使用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;
}
【讨论】: