javascript
  • google-apps-script
  • google-drive-sdk
  • folder
  • 2017-04-13 3 views 0 likes 
    0

    私はステージ上の学生です。私が唯一のフォルダではなく、それらのサブフォルダを取得Javascript、Googleアドオンで、特定のフォルダ内のすべてのフォルダとサブフォルダを取得しようとしています

    var childFolders = DriveApp.getFolderById('ID').getFolders(); 
    

    または

    var childFolders = DriveApp.getFolderById('ID').searchFolders("mimeType = 'application/vnd.google-apps.folder'"); 
    

    :私はexemple、アドオンのスプレッドシートのための成功することなく、複数のソリューションをしようとしていました。

    あなたは、このコマンドを使用して、ドライブのすべてのフォルダを持つことができたときにそれは奇妙だ:

    var childFolders = DriveApp.getFolders(); 
    

    は、私は、フォルダとすべてのサブフォルダをしたいです。詳細ドライブの7000個のフォルダより6分の制限時間を超えているため、トリガを使用する必要があります。例:ルートの1つのフォルダに500個のフォルダのツリーフォルダを持たせることができます。

    私はそのための再帰的な関数を避けようとしています。再帰的に結合し、トリガーは...!私のスクリプトはフォルダを取得しなければならず、すべてがサブフォルダです。 最初のフォルダのキーが表示されます。

    アイデアがあれば、どうぞよろしくお願いいたします。

    答えて

    0

    私はちょうど私がルートから始まるフォルダの中のサブフォルダを得ることができることを示すために始める何かを与える。

    root > mainFolder > subFolder (the tree can go on) 
    

    Iを基準としてClass FolderClass FolderIteratorを用います。

    function getSubFolders() { 
    
        var folderArray=[]; 
        //displays all the folders assigns it to 'rootFolder' variable 
        var rootFolder = DriveApp.getFolderById('root').getFolders(); 
        //iterate over the root folders 
        while (rootFolder.hasNext()) { 
    
        var mainFolder = rootFolder.next(); 
        //assign the IDs of the root folders to an array 
        folderArray.push(mainFolder.getId()); 
        Logger.log(mainFolder.getName()); 
        } 
        //go inside one of the folders of your choice using the ID inside the array so we can use it to access the sub-folders 
        var newFolder = DriveApp.getFolderById(folderArray[4]).getFolders(); 
        //loop over the sub-folders inside if it has any 
        while (newFolder.hasNext()) { 
        //I had sub-folders inside so I accessed it and displayed their names 
        var subFolders = newFolder.next(); 
        Logger.log(subFolders.getName()); 
        } 
    
    } 
    

    、十分な私は、サブフォルダ

    [17-04-14 15:28:45:256 HKT] Subfolder3 
    [17-04-14 15:28:45:257 HKT] Subfolder2 
    [17-04-14 15:28:45:259 HKT] Subfolder1 
    
    +0

    おかげだ、私はフォルダごとに1枚で私の研究を分割します確認してください。私はルートを得る方法が好きです。それはとても簡単です、私はドライブのIDを取得していました。それは でも動作しますが、あなたの方法は良いです。 – Simon

    関連する問題