【问题标题】:How to get the sub-folders of My Drive in Google Drive如何在 Google Drive 中获取 My Drive 的子文件夹
【发布时间】:2013-04-25 05:24:05
【问题描述】:

使用以下方法,我能够获取子文件夹,但此代码从根目录检索所有文件夹。例如,如果垃圾箱中有一个文件夹,它也会检索该文件夹以及“我的云端硬盘”中的文件夹。

我的要求是,如果我的驱动器中没有该文件夹,那么我应该首先创建一个然后插入文件。我的问题是,当我检查文件夹名称时,由于文件夹存在于垃圾箱中但不在“我的云端硬盘”中,因此当文件夹存在时我会收到响应。

这是我检索文件夹的方法。

如果有人有什么想法,请告诉我。

-(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"];
                  }];
}

【问题讨论】:

    标签: ios objective-c cocoa-touch google-drive-api google-api-objc-client


    【解决方案1】:

    您可以使用以下查询过滤掉已删除的目录:application/vnd.google-apps.folder' and trashed = false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多