gpt4 book ai didi

ios - 通过 IOS Google Drive SDK 列出 Google Drive 中指定文件夹中的所有文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:03:40 26 4
gpt4 key购买 nike

实际上,我将 google drive sdk 与我的 ios 应用程序集成在一起。我可以通过 google drive ios sdk 检索/上传 google drive 中的文件。但是从指定的父文件夹中检索文件列表需要很长时间。

这是我使用的步骤和代码。

首先获取指定父文件夹的子文件夹,然后获取每个子文件夹的 GTLDriveChildReference 然后然后使用子引用标识符进行查询。

这对我来说是一个巨大的过程。它还每次都请求谷歌服务器。任何更好的方法只是在查询中传递父文件夹 ID 并从该父文件夹中提取文件。

   -(void)getFileListFromSpecifiedParentFolder {
GTLQueryDrive *query2 = [GTLQueryDrive queryForChildrenListWithFolderId:<some_id or root>];
query2.maxResults = 1000;

// 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 = %@", file.originalFilename);
}];
}
}
}];
}

任何可能不胜感激的帮助。

最佳答案

我一直在使用以下代码(它只需要一个查询而不是多个查询):

GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];
query.q = [NSString stringWithFormat:@"'%@' IN parents", <the folderID>];

[self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFileList *files,
NSError *error) {
...
}];

到目前为止似乎运行良好。

关于ios - 通过 IOS Google Drive SDK 列出 Google Drive 中指定文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14603432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com