public static async Task Go() { //notasecret //sismmar-sisges-d3f15fa8366e.p12 string[] scopes = new string[] { DriveService.Scope.Drive }; // Full access var keyFilePath = @"C:\Users\m.lourenco\Downloads\sismmar-sisges-d3f15fa8366e.p12"; // Downloaded from https://console.developers.google.com var serviceAccountEmail = "*****@*****.**"; // found https://console.developers.google.com //loading the Key file var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable); var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail) { Scopes = scopes }.FromCertificate(certificate)); // Create the service. var service = new DriveService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Drive API Sample", }); service.CreateFolder("sismmar"); service.ListFiles(); Console.Read(); }
public static async Task Run() { GoogleWebAuthorizationBroker.Folder = "Drive.Sample"; UserCredential credential = await GetCredentials(); // Create the service. var driveService = new DriveService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Drive API Sample", }); // Create a folder if not exist driveService.CreateFolder("sismmar", "folder to storage some scripts!"); // Get the latest file to Upload // Upload fo the current file // - find the sismmar folder // - find the current month folder (008-august, 009-september) inside the sismmar folder // - upload the current file inside the current month folder // done Console.Read(); }
private static async System.Threading.Tasks.Task ExportAndUploadToDriveAsync <T>(List <T> dataList, List <IList <Object> > writeValues, string extension, string contentType, string fileName, bool includeHeaders = true) { //Generate and Save Excel File locally Logger.Info("Generating Excel File"); List <List <T> > splittedData = ExportToExcelHelper.Split(dataList, 1000000); List <byte> data = new List <byte>(); foreach (var dt in splittedData) { var r = ExportToExcelHelper.ExportToExcel(dt, extension, includeHeaders).ToList(); data.AddRange(r); } Logger.Info("Saving Excel File in ReportFiles folder"); string filePath = GetFilePath(fileName); using (var stream = new FileStream(filePath, FileMode.Append)) { stream.Write(data.ToArray(), 0, data.ToArray().Length); } //System.IO.File.WriteAllBytes(filePath, data.ToArray()); //Google Drive Folder Name string folderName = _iconfiguration.GetSection("GoogleDriveFolderName").Value; IList <File> folders = GetFolders(); var folder = folders.FirstOrDefault(a => a.Name == folderName); if (folder == null) { folder = service.CreateFolder(folderName); } if (folder != null) { Logger.Info($"Folder: {folder.Name} Found"); var fs = GetFilesByName(Path.GetFileNameWithoutExtension(fileName)); if (fs.Count == 1) { //UpdateFile(filePath, folder, fs.FirstOrDefault(), contentType); await UpdateFileUsingGoogleSheetAsync <T>(fs.FirstOrDefault(), writeValues, Path.GetFileNameWithoutExtension(fileName)); } else { CreateFile(filePath, folder, contentType); } } }