我需要在我的脚本中确定文件是否是Google类型,我似乎无法弄清楚为什么这不起作用。这是代码片段:
function transferFiles() {
var files = DriveApp.getFiles();
while (files.hasNext()) {
var file = files.next();
if (file.getBlob().isGoogleType()) {
do stuff
}
}
}
对于我的所有Google文件(文档,电子表格等),if语句都返回false。当我要求它返回file.getBlob()。getContentType()时,似乎所有内容都转换为application / pdf。
我在这段代码中做错了什么,或者是否有另一种方法可以确定某个文件是否属于Google类型?感谢。
答案 0 :(得分:1)
一些解决方法建议:
function transferFiles() {
var files = DriveApp.getFiles();
var googleMimeTypes = [MimeType.GOOGLE_APPS_SCRIPT,
MimeType.GOOGLE_DOCS,
MimeType.GOOGLE_DRAWINGS,
MimeType.GOOGLE_FORMS,
MimeType.GOOGLE_SHEETS,
MimeType.GOOGLE_SLIDES];
while (files.hasNext()) {
var file = files.next();
if(googleMimeTypes.indexOf(file.getMimeType()) != -1){
Logger.log(file.getName() + " is Google Type!");
} else{
Logger.log(file.getName() + " is not Google Type!");
}
}
}
答案 1 :(得分:0)
这是另一个建议。所有Google原生格式在您的云端硬盘中占用0个字节。您可以比较循环内的文件大小,以确定文件是否为本机Google类型。
function transferFiles() {
var files = DriveApp.getFiles();
while (files.hasNext()) {
var file = files.next();
if (file.getSize() == 0) {
// do something
}
}
}