实际上,我将 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);
}];
}
}
}];
}
任何可能不胜感激的帮助。