2012-09-05 63 views
1

我试图创建一个Google Apps脚本,它需要附件的电子邮件,解压缩它转发它。我在Google云端硬盘中看到了解包功能(您可以在其中上传文件,将其打开并将单个文件复制到您的驱动器中)。该功能是否可以通过Google Apps脚本以某种方式访问​​?脚本解压缩附件

回答

2

首先,你需要编写一个脚本会自动为直接上传用户的谷歌驱动这个触发后的电子邮件附件的运行下面

function testzip(){ 
var files=DocsList.getRootFolder().find('Sans titre.txt.zip'); 
var zipblob=files[0].getBlob(); 
var unzipblob = Utilities.unzip(zipblob); 
var unzipstr=unzipblob[0].getDataAsString();// it is a text file 
DocsList.createFile('Sans titre.txt',unzipstr);// I kept the original name to make it simple 
} 

检查这个代码表示这段代码。如果它不起作用,不要责怪我。这只是一个建议。

+0

不错,直接在Blob上工作,没有绕道去Drive。谢谢 – puco

+0

你在哪找到'Utilities.unzip',我在参考文献中找不到任何关于它的内容,API是否有更好的资源? – puco

+0

@puco在这里检查公用事业类的谷歌应用程序脚本https://developers.google.com/apps-script/class_utilities –

0

评论:文件 blob因此需要调用getBlob()。任何具有getBlob()函数的东西都可以直接用作blob。您可以更换

var zipblob=files[0].getBlob(); 
var unzipblob = Utilities.unzip(zipblob); 

与此:

var zipfile=files[0]; 
var unzipblob = Utilities.unzip(zipfile); 

我尝试过编辑其他答案,但有人谁显然没有尝试代码拒绝编辑为不正确。