2016-09-18 1 views
0

私はGoogleドライブAPI - ファイルの両親リストつねにnil

let searchQuery = GTLQueryDrive.queryForFilesList() 

でGoogleドライブのAPIを使用してファイルを検索し、完了

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)" 

重要:それはitems(...)だった前のに対しfiles(...)は、v3のAPI用の新しい構文であることに注意してください。

関連する問題