public ApiResponse CreateSpreadSheet(string name) { ApiResponse res = new ApiResponse(); try { var r = this.Auth(); if (r.Code != System.Net.HttpStatusCode.OK) { return(r); } var service = new SheetsService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Punnel", }); Google.Apis.Sheets.v4.Data.Sheet default_sheet = new Google.Apis.Sheets.v4.Data.Sheet(); default_sheet.Properties = new Google.Apis.Sheets.v4.Data.SheetProperties() { Title = "Punnel" }; List <Google.Apis.Sheets.v4.Data.Sheet> sheets = new List <Google.Apis.Sheets.v4.Data.Sheet>(); sheets.Add(default_sheet); var result = service.Spreadsheets.Create(new Google.Apis.Sheets.v4.Data.Spreadsheet() { Properties = new Google.Apis.Sheets.v4.Data.SpreadsheetProperties() { Title = name }, Sheets = sheets }).Execute(); if (result != null) { var pnsheet = result.Sheets[0]; Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel() { Id = result.SpreadsheetId, SheetId = pnsheet.Properties.SheetId }; res.Data = result_data; res.Code = System.Net.HttpStatusCode.OK; } } catch (Exception ex) { _log.Error(ex); res.Message = ex.Message; } return(res); }
public ApiResponse GetSheetsBySpreadSheetId(string id) { ApiResponse res = new ApiResponse(); try { var r = this.Auth(); if (r.Code != System.Net.HttpStatusCode.OK) { return(r); } var service = new SheetsService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Punnel", }); var result = service.Spreadsheets.Get(id).Execute(); if (result != null) { string sheet_name = "Punnel"; var k = result.Sheets.FirstOrDefault(x => x.Properties.Title.ToLower() == "punnel"); if (k != null) { Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data1 = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel() { Id = result.SpreadsheetId, Name = result.Properties.Title, SheetId = k.Properties.SheetId }; res.Data = result_data1; res.Code = System.Net.HttpStatusCode.OK; } else { List <Google.Apis.Sheets.v4.Data.Request> requests = new List <Google.Apis.Sheets.v4.Data.Request>(); requests.Add(new Google.Apis.Sheets.v4.Data.Request() { AddSheet = new Google.Apis.Sheets.v4.Data.AddSheetRequest() { Properties = new Google.Apis.Sheets.v4.Data.SheetProperties() { Title = sheet_name } } }); Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest(); requestBody.Requests = requests; var res_updated = service.Spreadsheets.BatchUpdate(requestBody, result.SpreadsheetId).Execute(); result = service.Spreadsheets.Get(result.SpreadsheetId).Execute(); var pnsheet = result.Sheets[result.Sheets.Count - 1]; Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel() { Id = result.SpreadsheetId, SheetId = pnsheet.Properties.SheetId }; res.Data = result_data; res.Code = System.Net.HttpStatusCode.OK; } } } catch (Exception ex) { _log.Error(ex); res.Message = "Không tìm thấy Spread Id: " + id; } return(res); }