public FileInfo Invoke(string fileId, string title, string mimeType = null) { try { if (String.IsNullOrEmpty(fileId)) { throw new Exception("Input parameter 'fileId' is null or empty (Cannot rename root directory)."); } if (String.IsNullOrEmpty(title)) { throw new Exception("Input parameter 'title' is null or empty."); } using (DriveService driveService = DriveService.Create()) { FileInfo fileInfo = driveService.GetFile(fileId); if (fileInfo == null) { throw new Exception("File no longer exists."); } var renameStream = new API.DriveService.RenameStream(); renameStream.Init(fileInfo, title, mimeType); renameStream.Visible = false; driveService.RenameFile(renameStream); while (!renameStream.Finished) { System.Threading.Thread.Sleep(250); } if (renameStream.Cancelled) { return(null); } if (renameStream.Failed) { throw new LogException("Rename file could not complete - " + renameStream.ExceptionMessage, true, true); } fileInfo = renameStream.FileInfo; return(fileInfo); } } catch (Exception exception) { Log.Error(exception); return(null); } }
public FileInfo Invoke(string fileId, string title, string mimeType = null) { try { if (String.IsNullOrEmpty(fileId)) { throw new Exception("Input parameter 'fileId' is null or empty (Cannot rename root directory)."); } if (String.IsNullOrEmpty(title)) { throw new Exception("Input parameter 'title' is null or empty."); } using (DriveService driveService = DriveService.Create()) { FileInfo fileInfo = driveService.GetFile(fileId); if (fileInfo == null) { throw new Exception("File no longer exists."); } var renameStream = new API.DriveService.RenameStream(); renameStream.Init(fileInfo, title, mimeType); renameStream.Visible = false; driveService.RenameFile(renameStream); while (!renameStream.Finished) { System.Threading.Thread.Sleep(250); } if (renameStream.Cancelled) { return null; } if (renameStream.Failed) { throw new LogException("Rename file could not complete - " + renameStream.ExceptionMessage, true, true); } fileInfo = renameStream.FileInfo; return fileInfo; } } catch (Exception exception) { Log.Error(exception); return null; } }