private Google.Apis.Drive.v3.Data.File CreateDirectory(string name, string description)
        {
            Google.Apis.Drive.v3.Data.File newDirectory = null;

            var body = new Google.Apis.Drive.v3.Data.File
            {
                Name        = name,
                Description = description,
                MimeType    = "application/vnd.google-apps.folder",
                Parents     = new List <string> {
                    "root"
                }
            };

            try
            {
                var request = _driveService.Files.Create(body);
                newDirectory = request.Execute();
            }
            catch (Exception e)
            {
                return(null);
            }
            return(newDirectory);
        }
示例#2
0
        static private void UploadImage(string path, DriveService service, string folderUpload, string PictureName)
        {
            var fileMetadata = new Google.Apis.Drive.v3.Data.File();

            if (PictureName == "")
            {
                fileMetadata.Name = Path.GetFileName(path);
            }
            else
            {
                fileMetadata.Name = PictureName + Path.GetExtension(path);
            }
            fileMetadata.MimeType = "image/*";

            fileMetadata.Parents = new List <string>
            {
                folderUpload
            };
            FilesResource.CreateMediaUpload request;
            using (var stream = new FileStream(path, FileMode.Open))
            {
                request        = service.Files.Create(fileMetadata, stream, "image/*");
                request.Fields = "id";
                request.Upload();
            }
        }
示例#3
0
        private static void UploadFile(string fileName, List <string> parents, string _descrp = "Uploaded with .NET!")
        {
            if (System.IO.File.Exists(fileName))
            {
                Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File();
                body.Name        = System.IO.Path.GetFileName(fileName);
                body.Description = _descrp;
                body.MimeType    = GetMimeType(fileName);
                body.Parents     = parents;

                byte[] byteArray = System.IO.File.ReadAllBytes(fileName);
                System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
                try
                {
                    FilesResource.CreateMediaUpload request = _service.Files.Create(body, stream, GetMimeType(fileName));
                    request.Upload();
                    var winik = request.ResponseBody;
                }
                catch (Exception e)
                {
                    var a = e.Message;
                }
            }
            else
            {
                var b = "nie ma pliku";
            }
        }
示例#4
0
 /// <summary>
 /// Récupére les informations d'un fichier par son ID
 /// </summary>
 /// <param name="fileId"></param>
 /// <returns></returns>
 private Google.Apis.Drive.v3.Data.File GetFile(String fileId)
 {
     Google.Apis.Drive.v3.Data.File file = new Google.Apis.Drive.v3.Data.File();
     try
     {
         file = service.Files.Get(fileId).Execute();
     }
     catch (Exception e)
     {
         Console.WriteLine("An error occurred: " + e.Message);
     }
     return(file);
 }
示例#5
0
 /// <summary>
 /// Créé un fichier
 /// </summary>
 public void CreateFolder(string nameFolder)
 {
     try
     {
         var fileMetadata = new Google.Apis.Drive.v3.Data.File()
         {
             Name     = nameFolder,
             MimeType = "application/vnd.google-apps.folder"
         };
         var request = service.Files.Create(fileMetadata);
         request.Fields = "id";
         var file = request.Execute();
     }catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        private Google.Apis.Drive.v3.Data.File InsertOrUpdateFile(string filePath, Google.Apis.Drive.v3.Data.File parentFolder)
        {
            string fileName = Path.GetFileName(filePath);

            var fileMetaData = new Google.Apis.Drive.v3.Data.File
            {
                Name        = fileName,
                Description = "5D File Search Database",
                MimeType    = "application/octet-stream"
            };

            Google.Apis.Drive.v3.Data.File existingFile = null;
            var matchingFileList = FindFileInFolder(fileName, parentFolder);

            if (matchingFileList != null && matchingFileList.Count > 0)
            {
                existingFile = matchingFileList[0];
            }

            if (existingFile == null)
            {
                using (var stream = new FileStream(filePath, FileMode.Open))
                {
                    var request = _driveService.Files.Create(fileMetaData, stream, "application/octet-stream");
                    request.Fields       = "id,name,parents";
                    fileMetaData.Parents = new List <string> {
                        parentFolder.Id
                    };
                    request.Upload();

                    return(request.ResponseBody);
                }
            }
            else
            {
                using (var stream = new FileStream(filePath, FileMode.Open))
                {
                    var request = _driveService.Files.Update(fileMetaData, existingFile.Id, stream, "application/octet-stream");
                    request.Fields = "id,name,parents";
                    request.Upload();

                    return(request.ResponseBody);
                }
            }
        }
示例#7
0
        /// <summary>
        /// Récupère les fichiers de google drive
        /// </summary>
        /// <returns></returns>
        public List <Fichier> GetItems()
        {
            FilesResource.ListRequest FileListRequest = service.Files.List();
            FileListRequest.Fields = "nextPageToken, files(id, name, size, version, createdTime, parents, fileExtension, iconLink, owners)";
            IList <Google.Apis.Drive.v3.Data.File> files = FileListRequest.Execute().Files;
            List <Fichier> FileList = new List <Fichier>();

            if (files != null && files.Count > 0)
            {
                List <Fichier> filesSansDossier = new List <Fichier>();
                string         root             = GetRootFolderId();
                foreach (var f in files)
                {
                    if (f.Parents != null)
                    {
                        foreach (string str_parent in f.Parents)
                        {
                            if (str_parent == root || str_parent == null)
                            {
                                Google.Apis.Drive.v3.Data.File cFile = GetFile(f.Id);
                                Fichier File = new Fichier();
                                File.IdGoogle       = cFile.Id;
                                File.Nom            = cFile.Name;
                                File.Taille         = (cFile.Size == null ? "-" : cFile.Size.ToString());
                                File.Version        = cFile.Version;
                                File.MimeType       = cFile.MimeType;
                                File.DateDeCreation = f.CreatedTime;
                                File.IsFile         = (cFile.Parents == null ? true : false);
                                File.PreviewUrl     = (cFile.WebContentLink == null ? "" : cFile.WebContentLink);
                                File.IMG            = cFile.IconLink == null ? cFile.IconLink : "";
                                File.Type           = (File.IsFile != false ? Path.GetExtension(cFile.Name) : "-");
                                FileList.Add(File);
                                break;
                            }
                        }
                    }
                }
            }
            return(FileList.OrderBy(f => f.Nom).ToList());
        }
示例#8
0
        private static File CreateFolder(this DriveService service, string folderName)
        {
            Logger.Info("Creating Folder: " + folderName);
            var fileMetadata = new Google.Apis.Drive.v3.Data.File()
            {
                Name     = folderName,
                MimeType = "application/vnd.google-apps.folder"
            };
            var request = service.Files.Create(fileMetadata);

            request.Fields = "id,name";
            var file = request.Execute();

            if (!string.IsNullOrEmpty(file.Id))
            {
                Logger.Info($"Folder {file.Name} Created");
            }

            Console.WriteLine($"Folder {file.Name} Created");

            return(file);
        }
示例#9
0
        public static string CreateFolder(string folderName)
        {
            Program p       = new Program();
            var     service = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = p.GetCredential(),
                ApplicationName       = ApplicationName,
            });
            bool exists = Exists(folderName);

            if (exists)
            {
                return($"Sorry but the file {folderName} already exists!");
            }

            var file = new Google.Apis.Drive.v3.Data.File();

            file.Name     = folderName;
            file.MimeType = "application/vnd.google-apps.folder";
            var request = service.Files.Create(file);

            request.Fields = "id";
            return(request.Execute().Id);
        }
示例#10
0
        /// <summary>
        /// Copie un fichier dans google drive.
        /// </summary>
        /// <param name="service"></param>
        /// <param name="fileId"></param>
        /// <param name="body"></param>
        /// <param name="optional"></param>
        /// <returns></returns>
        public Google.Apis.Drive.v3.Data.File Copy(DriveService service, string fileId, Google.Apis.Drive.v3.Data.File body)
        {
            try
            {
                Verification(fileId);

                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }

                var request = service.Files.Copy(body, fileId);

                return(request.Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Echec de la copie d'un fichier", ex);
            }
        }
示例#11
0
 void AddPlayStack(Google.Apis.Drive.v3.Data.File id)
 {
     _playStack.Insert(0, id);
     _playStackIsDirty = true;
     PlayListUpdate();
 }
        private IList <Google.Apis.Drive.v3.Data.File> FindFileInFolder(string fileName, Google.Apis.Drive.v3.Data.File parentFolder)
        {
            // Define parameters of request.
            FilesResource.ListRequest listRequest = _driveService.Files.List();
            listRequest.PageSize = 10;
            listRequest.Fields   = "nextPageToken, files(id, name, parents)";
            listRequest.Q        = $"name contains '{fileName}' and '{parentFolder.Id}' in parents";

            return(DoFileQuery(listRequest));
        }
示例#13
0
        public static Google.Apis.Drive.v3.Data.File uploadOnDrive(IDictionary <string, string> listaPdf, ListView lv, bool createFolder, ToolStripProgressBar pb)
        {
            IList <Google.Apis.Drive.v3.Data.File> fldrs = GoogleDrive.listFolderDrive();


            if (createFolder)
            {
                fldrs = creaCartelleInesistenti(fldrs, listaPdf, lv);
            }

            List <string> tmpPdfAggiunti = new List <string>();

            List <ListViewItem> lwi = new List <ListViewItem>();

            pb.Value = 0;

            pb.Maximum = listaPdf.Count;

            foreach (var fld in fldrs)
            {
                string name = fld.Name.ToLower();
                string tag  = fld.Id;

                if (listaPdf.ContainsKey(name.ToLower()))
                {
                    string path = listaPdf[name];

                    Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File();

                    body.Name = mainI.data + "_" + Program.gestiscoNome(System.IO.Path.GetFileName(@path).ToUpper()) + ".pdf";

                    body.MimeType = GetMimeType(@path);
                    body.Parents  = new List <string> {
                        tag
                    };
                    byte[] byteArray = System.IO.File.ReadAllBytes(@path);
                    System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);

                    try
                    {
                        FilesResource.CreateMediaUpload request = GoogleDrive.service.Files.Create(body, stream, body.MimeType);
                        request.SupportsTeamDrives = true;
                        request.Upload();


                        ListViewItem item1 = new ListViewItem("3", 0);
                        item1.SubItems.Add(name);
                        item1.SubItems.Add("1");

                        lwi.Add(item1);

                        tmpPdfAggiunti.Add(name);

                        pb.Value = pb.Value + 1;
                    }
                    catch (Exception e)
                    {
                        ListViewItem item1 = new ListViewItem("3");
                        item1.SubItems.Add(name);
                        item1.SubItems.Add("0");

                        lv.Items.AddRange(new ListViewItem[] { item1 });

                        pb.Value = pb.Value + 1;
                    }
                }
            }

            foreach (var namePDF in listaPdf)
            {
                if (!tmpPdfAggiunti.Contains(namePDF.Key))
                {
                    ListViewItem i = new ListViewItem("3");

                    i.SubItems.Add(namePDF.Key);
                    i.SubItems.Add("0");

                    lwi.Add(i);
                }
            }

            foreach (ListViewItem lw in lwi)
            {
                lv.Items.Add(lw);
                lv.EnsureVisible(lv.Items.Count - 1);
            }

            return(null);
        }