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());
            }
        }
Example #2
0
        // 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));
        }
Example #3
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        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();
        }