2016-09-18 157 views
0

當我搜索使用谷歌雲端硬盤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") 
     } 
    }) 
} 

回答

2

我想通了:默認情況下不退還家長名單,所以你需要設置一個字段串,包含請求你需要的領域。例如,如果您需要添加文件的名稱,ID和父級:

searchQuery?.fields = "files(id,name,parents)" 

查詢。

重要:注意files(...)是第3版API的新語法,而在此之前它是items(...)

相關問題