gpt4 book ai didi

ios - 如何在 Google Drive API (Swift 5) 中禁用文件夹递归

转载 作者:行者123 更新时间:2023-12-01 21:19:18 25 4
gpt4 key购买 nike

在我的应用程序中,我使用 Google Drive API。我得到文件列表并将其加载到 TableView。但是在 TableView 中,我看到了根目录中的文件和文件夹以及子文件夹中的文件和文件夹。但是只有当我点击相应的行时,我才需要导航到子文件夹中的文件。如何禁用递归?以及我应该如何在 didSelectRow 的子文件夹中实现转换功能?
感谢帮助。

...
var unreformedFileList: [AnyObject] = []
var fileListTicket: GTLRServiceTicket?
...
private lazy var driveService: GTLRDriveService = {
let service = GTLRDriveService()
if let user = GlobalEntitie.Variable.googleUser {
service.authorizer = user.authentication.fetcherAuthorizer()
}
service.shouldFetchNextPages = true
service.isRetryEnabled = true
return service
}()
...
var files: [FileModelProtocol] {
guard let files = unreformedFileList as? [GTLRDrive_File] else { return [] }
return files.map { GoogleDriveFileModel($0) }
}
...
func fetchFileList(path: String?, _ completion: @escaping () -> Void) {
let query = GTLRDriveQuery_FilesList.query()
query.fields = "kind,nextPageToken,files(mimeType,id,kind,name,webViewLink,thumbnailLink,trashed)"

fileListTicket = driveService.executeQuery(query,
completionHandler: { [weak self] (_, resultObject, error) in

if let error = error {
debugPrint("driveService.executeQuery error: \(error.localizedDescription)")
return
}
guard let self = self,
let fileList = resultObject as? GTLRDrive_FileList,
let unreformedFileList = fileList.files else { return }
self.unreformedFileList = []
for file in unreformedFileList {

if file.mimeType == "application/vnd.google-apps.folder" {
self.unreformedFileList.insert(file, at: 0)
} else {
if file.mimeType == "audio/mpeg" ||
file.mimeType == "audio/x-wav" ||
file.mimeType == "audio/aac" {
self.unreformedFileList.append(file)
}
}
}
self.fileListTicket = nil

completion()
})
}

最佳答案

解决方案
在 Google Drive API v3 中,为了列出特定文件夹/子文件夹中的文件,您必须将文件夹文件 ID 传递给 API 调用中的 q 查询参数。
使用 q 参数,您可以过滤 list 的输出。使用这些的方法options .
然后可以列出查询list的文件夹内容像这样的端点:

q="driveFolderID"+in+parents
引用
Google Drive Files list

关于ios - 如何在 Google Drive API (Swift 5) 中禁用文件夹递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63934830/

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