public string ConsultaGoogleSheets() { try { SheetsService sheetsService = new SheetsService(new BaseClientService.Initializer { HttpClientInitializer = GetCredential(), ApplicationName = "Google-SheetsSample/0.1", }); string spreadsheetId = "1_iIbyZZAzO02HOA-3l38FCJxq9Mm_MHaZ8l7NvFtw44"; string range = "A1:FZ3000"; SpreadsheetsResource.ValuesResource.GetRequest.ValueRenderOptionEnum valueRenderOption = (SpreadsheetsResource.ValuesResource.GetRequest.ValueRenderOptionEnum) 0; SpreadsheetsResource.ValuesResource.GetRequest.DateTimeRenderOptionEnum dateTimeRenderOption = (SpreadsheetsResource.ValuesResource.GetRequest.DateTimeRenderOptionEnum) 0; SpreadsheetsResource.ValuesResource.GetRequest request = sheetsService.Spreadsheets.Values.Get(spreadsheetId, range); request.ValueRenderOption = valueRenderOption; request.DateTimeRenderOption = dateTimeRenderOption; Google.Apis.Sheets.v4.Data.ValueRange response = request.Execute(); IList <IList <Object> > values = response.Values; IList <Object> listaParametros = values[0]; Diferencia(listaParametros); InsertShopify(values, listaParametros); return(JsonConvert.SerializeObject(response)); } catch (Exception e) { Conexion.Conexiones c = new Conexiones(); c.EjecutarLog(0, e.ToString(), "ERROR CONSULTA DATA SHOPIFY"); return(e.ToString()); } }
// Pass in your data as a list of a list (2-D lists are equivalent to the 2-D spreadsheet structure) public string UpdateData(List <IList <object> > data) { String range = "My Tab Name!A1:Y"; string valueInputOption = "USER_ENTERED"; // The new values to apply to the spreadsheet. List <Google.Apis.Sheets.v4.Data.ValueRange> updateData = new List <Google.Apis.Sheets.v4.Data.ValueRange>(); var dataValueRange = new Google.Apis.Sheets.v4.Data.ValueRange(); dataValueRange.Range = range; dataValueRange.Values = data; updateData.Add(dataValueRange); Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest(); requestBody.ValueInputOption = valueInputOption; requestBody.Data = updateData; var request = _sheetsService.Spreadsheets.Values.BatchUpdate(requestBody, _spreadsheetId); Google.Apis.Sheets.v4.Data.BatchUpdateValuesResponse response = request.Execute(); // Data.BatchUpdateValuesResponse response = await request.ExecuteAsync(); // For async return(JsonConvert.SerializeObject(response)); }
public string WriteInGoogleSS(List <IList <object> > data, int writtingRange) { String range = "HojaPacientes!A" + writtingRange.ToString() + ":B"; string valueInputOption = "USER_ENTERED"; // The new values to apply to the spreadsheet. List <Google.Apis.Sheets.v4.Data.ValueRange> updateData = new List <Google.Apis.Sheets.v4.Data.ValueRange>(); var dataValueRange = new Google.Apis.Sheets.v4.Data.ValueRange(); dataValueRange.Range = range; dataValueRange.Values = data; updateData.Add(dataValueRange); Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest(); requestBody.ValueInputOption = valueInputOption; requestBody.Data = updateData; var request = service.Spreadsheets.Values.BatchUpdate(requestBody, SpreadsheetId); Google.Apis.Sheets.v4.Data.BatchUpdateValuesResponse response = request.Execute(); // Data.BatchUpdateValuesResponse response = await request.ExecuteAsync(); // For async return(JsonConvert.SerializeObject(response)); }
protected override async Task RunRequestInternal() { // For Google Drive Api documentation visit https://developers.google.com/sheets/api/quickstart/dotnet string[] scopes = { SheetsService.Scope.SpreadsheetsReadonly }; ClientSecrets secrets = new ClientSecrets(); secrets.ClientId = client_id; secrets.ClientSecret = client_secret; Task <UserCredential> user_credential_task = GoogleWebAuthorizationBroker.AuthorizeAsync(secrets, scopes, "user", CancellationToken.None); AwaitResult user_credential_task_result = await AwaitUtils.AwaitTask(user_credential_task); if (user_credential_task_result.HasErrors) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject( user_credential_task_result.Exception.Message, user_credential_task_result.Exception); return; } UserCredential credential = user_credential_task.Result; if (credential == null) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject("Credentials are null", null); return; } BaseClientService.Initializer service_in = new BaseClientService.Initializer(); service_in.HttpClientInitializer = credential; service_in.ApplicationName = "Download spreadhseet GoogleDrive"; SheetsService service = new SheetsService(service_in); SpreadsheetsResource.ValuesResource.GetRequest get_values_request = service.Spreadsheets.Values.Get(document_id, document_data_range); Task <Google.Apis.Sheets.v4.Data.ValueRange> get_values_task = get_values_request.ExecuteAsync(); AwaitResult get_values_task_result = await AwaitUtils.AwaitTask(get_values_task); if (get_values_task_result.HasErrors) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject( get_values_task_result.Exception.Message, get_values_task_result.Exception); return; } Google.Apis.Sheets.v4.Data.ValueRange values = get_values_task.Result; if (values == null) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject("Values are null", null); return; } IList <IList <object> > values_data = values.Values; List <List <object> > data = new List <List <object> >(); List <IList <object> > values_data_list = values_data.ToList(); for (int i = 0; i < values_data_list.Count; ++i) { List <object> data_row = values_data_list[i].ToList(); data.Add(data_row); } Data.GridData grid_data = new Data.GridData(data); success_result = new DownloadSpreadsheetSuccessObject(grid_data); }
public async Task Save() { int pos = _settings.Positions; SheetsService service; string sheet = "sheet1"; string[] Scopes = { SheetsService.Scope.Spreadsheets }; string ApplicationName = "ValidateLinks"; GoogleCredential credential; using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) { credential = GoogleCredential.FromStream(stream) .CreateScoped(Scopes); } service = new SheetsService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); var range = $"{sheet}!A:ZZ"; var valueRange = new Google.Apis.Sheets.v4.Data.ValueRange(); var meta = new List <IList <object> >() { }; for (int i = 0; i < pos; i++) { //string res = ""; DataBacklinkRow row; DataTagA tagA; DataListedInfo info; List <string> line = new List <string>(); row = await _serv.GetDataBacklinkRowByID(i); if (row != null) { line.AddRange(row.Info); tagA = await _tagServ.GetDataTagAForDataBacklinkRow(row.ID); if (tagA != null) { line.AddRange(tagA.Info); } else { line.AddRange(new string[] { "", "", "" }); } info = await _infoServ.GetDataListedInfoByDataBacklinkRowID(row.ID); if (info != null) { line.AddRange(Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(info.Text)); } meta.Add(line.Select(x => x as object).ToList()); } } valueRange.Values = meta; var appendRequest = service.Spreadsheets.Values.Update(valueRange, _settings.SaveDataString, range); appendRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; var appendReponse = appendRequest.Execute(); }