public List <GoogleDriveFileModel> GetFiles(GoogleDriveFileTypeEnum fileType, string fileName)
        {
            List <GoogleDriveFileModel> googleDriveFiles = new List <GoogleDriveFileModel>();
            DriveService driveService = this.GetGoogleDriveService();

            FilesResource.ListRequest request = driveService.Files.List();
            request.Q      = string.Format("mimeType = '{0}' and name = '{1}'", fileType.GetDescription(), fileName);
            request.Spaces = "drive";
            request.Fields = "nextPageToken, files(id, name, mimeType, parents)";
            IList <File> files = request.Execute().Files;

            foreach (File file in files)
            {
                GoogleDriveFileModel googleDriveFile = Mapper.MapFileToGoogleDriveFileModel(file);
                googleDriveFiles.Add(googleDriveFile);
            }
            return(googleDriveFiles);
        }
        public GoogleDriveFileModel UploadGoogleDriveFile(GoogleDriveFileModel googleDriveFile)
        {
            DriveService driveService          = this.GetGoogleDriveService();
            File         uploadGoogleDriveFile = new File()
            {
                Name    = googleDriveFile.Name,
                Parents = googleDriveFile.Parents
            };

            System.IO.MemoryStream          streamFile = new System.IO.MemoryStream(googleDriveFile.FileBytes);
            FilesResource.CreateMediaUpload request;
            using (streamFile)
            {
                request = driveService.Files.Create(
                    uploadGoogleDriveFile, streamFile, googleDriveFile.FileType.GetDescription());
                request.Upload();
            }
            File uploadFile = request.ResponseBody;

            return(Mapper.MapFileToGoogleDriveFileModel(uploadFile));
        }