Swift Google驱动器API-文件父列表始终为零

Swift Google驱动器API-文件父列表始终为零,swift,google-drive-api,Swift,Google Drive Api,当我使用Google Drive API搜索文件时 let searchQuery = GTLQueryDrive.queryForFilesList() 并在完成后打印出每个文件的父级 for file in response.files as! [GTLDriveFile] { print("Parents for \(file.name!): \(file.parents)") } 无论文件位于多少文件夹中,父项列表始终为nil。为什么会这样 下面是我用来演示此问题的完整函数

当我使用Google Drive 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)"
对查询进行修改


重要:请注意,
文件(…)
是V3API的新语法,而以前是
项(…)

我明白了:默认情况下,请求不会返回父列表,因此需要设置一个字段字符串,其中包含所需的字段。例如,如果需要添加的文件的名称、id和父级:

searchQuery?.fields = "files(id,name,parents)"
对查询进行修改

重要:请注意,
文件(…)
是V3API的新语法,而以前是
项(…)