2

使用以下方法,我可以獲取子文件夾,但此代碼會從根目錄中檢索所有文件夾。例如,如果垃圾箱中有一個文件夾,它也會檢索該文件夾以及「我的雲端硬盤」中的文件夾。如何在Google Drive中獲取My Drive的子文件夾

我的要求是,如果該文件夾不在我的驅動器中,那麼首先我應該創建一個然後插入文件。我的問題是,當我檢查文件夾名稱時,由於該文件夾存在於垃圾箱中,但不在「我的驅動器」中,因此當文件夾存在時,我得到響應。

這是我的方法來檢索文件夾。

如果有人有一些想法,請讓我知道。

-(void)getFileListFromSpecifiedParentFolder { 
    GTLQueryDrive *query2 = [GTLQueryDrive queryForFilesList]; 
// GTLQueryDrive *query2 = [GTLQueryDrive queryForChildrenListWithFolderId:@"My Drive"]; 

    query2.q = @""; 
    //or i also use this code 

    query2.q = @"mimeType = 'application/vnd.google-apps.folder'"; 

    // queryTicket can be used to track the status of the request. 
    [self.driveService executeQuery:query2 
        completionHandler:^(GTLServiceTicket *ticket, 
             GTLDriveChildList *children, NSError *error) { 
         NSLog(@"\nGoogle Drive: file count in the folder: %d", children.items.count); 
         //incase there is no files under this folder then we can avoid the fetching process 
         if (!children.items.count) { 
          return ; 
         } 

         if (error == nil) { 
          for (GTLDriveChildReference *child in children) { 

           GTLQuery *query = [GTLQueryDrive queryForFilesGetWithFileId:child.identifier]; 

           // queryTicket can be used to track the status of the request. 
           [self.driveService executeQuery:query 
              completionHandler:^(GTLServiceTicket *ticket, 
                   GTLDriveFile *file, 
                   NSError *error) { 

               NSLog(@"\nfile name = %@ \n file kind %@ \n file identifier %@", file.title,file.kind,file.identifier); 
              }]; 
          } 
         } 
         else 
          [self createFolderForGoogleDriveWithName:@"Music"]; 
        }]; 
} 

回答

3

可以過濾掉丟棄目錄用下面的查詢:application/vnd.google-apps.folder' and trashed = false

相關問題