谷歌云端硬盘API - 文件父母列表总是零
问题描述:
当我搜索使用谷歌云端硬盘API文件与谷歌云端硬盘API - 文件父母列表总是零
let searchQuery = GTLQueryDrive.queryForFilesList()
并打印出父母对每个文件上完成
for file in response.files as! [GTLDriveFile] {
print("Parents for \(file.name!): \(file.parents)")
}
家长名单无论文件位于多少个文件夹,始终为nil
。为什么会出现这种情况?
下面是我使用的演示此问题的完整功能:
func searchForAllFilesAndParents(){
let searchQuery = GTLQueryDrive.queryForFilesList()
searchQuery?.q = "trashed = false"
service.executeQuery(searchQuery!, completionHandler: { (ticket: GTLServiceTicket?, response: Any, error: Error?) in
if let error = error {
print("Error while searching for all files: \(error.localizedDescription)")
return
}
if let filesList = response as? GTLDriveFileList, let files = filesList.files, !files.isEmpty {
print("\(files.count) files found)")
for file in files as! [GTLDriveFile] {
print("Parents for \(file.name!): \(file.parents)")
}
} else {
print("No files were found")
}
})
}
答
我想通了:默认情况下不退还家长名单,所以你需要设置一个字段串,包含请求你需要的领域。例如,如果您需要添加文件的名称,ID和父级:
searchQuery?.fields = "files(id,name,parents)"
查询。
重要:注意files(...)
是第3版API的新语法,而在此之前它是items(...)
。