2016-12-20 76 views
1

我正在寻找/编写脚本以存档Google聊天消息(环聊)。我认为这会起作用,但它似乎没有做任何事情。任何人都可以指出为什么它不工作或我做错了什么?将谷歌环聊中的所有聊天记录存档

或者 - 如果其他人有我想要做的解决方案,那也会很棒!

function ArchiveChats() { 
var threads = GmailApp.getChatThreads(0, 100); 
GmailApp.moveThreadsToInbox(threads); 
GmailApp.moveThreadsToArchive(threads); 
} 

回答

1

与您的代码的问题是,它会从任何地方第100聊天线程在你的邮箱,而不是从你的收件箱。

这里,将归档尚未归档所有聊天线程功能:

function archiveAllChats() { 
    var query = 'in:chats label:inbox'; 
    var MAX_THREADS = 500; 

    var chatThreadsToArchive = GmailApp.search(query, 0, MAX_THREADS);           
    while (chatThreadsToArchive.length > 0) { 
    Logger.log('Archiving %s chats', chatThreadsToArchive.length); 
    GmailApp.moveThreadsToArchive(chatThreadsToArchive); 
    chatThreadsToArchive = GmailApp.search(query, 0, MAX_THREADS); 
    } 
    Logger.log('All chats are archived'); 
} 
+0

啊辉煌,感谢彼得! – SL8t7

+0

这确实将它们从我的收件箱中删除,这非常棒。但是,它不会将它们从侧边栏/ Google Hangout应用中移除。这是我(理想)想要做的。有任何想法吗? – SL8t7

+0

不幸的是,环聊API没有提供以编程方式存档对话的方式。在边栏中将它们放在视线之外的一个选项是切换到联​​系人列表。 –