2016-09-23 13 views
0

私のスクリプトでファイルがGoogleの種類であるかどうかを判断する必要がありますが、なぜこれが機能しないのかわかりません。ここでは、コードスニペットです:Google Apps Script - getBlob().Googleドキュメントのfalseを返すisGoogleType()

}

if文は私のGoogleファイル(ドキュメント、スプレッドシート、など)のすべてについてfalseを返すされている場合。 file.getBlob()。getContentType()を返すように要求すると、すべてがapplication/pdfに変換されたようです。

私はこのコードで何か間違っているのですか、あるいはファイルがGoogleのタイプかどうかを判断する別の方法はありますか?ありがとう。

+0

はい、application/pdfはGoogleタイプではないため、正しいです。 File.getBlob()はpdfsを返します。異なるMIMEタイプを指定するオプションがありますが、 "isGoogleType()"にtrueを返すものはありません – Cole9350

答えて

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!"); 
    } 
    } 
} 
0

はここで別の提案です。すべてのGoogleネイティブ形式は、ドライブ内で0バイトを占めます。ループ内のファイルサイズを比較して、ファイルがGoogleタイプのネイティブであるかどうかを判断できます。

function transferFiles() { 
    var files = DriveApp.getFiles(); 
    while (files.hasNext()) { 
    var file = files.next(); 
    if (file.getSize() == 0) { 
     // do something 
    } 
    } 
} 
関連する問題