예제 #1
0
        public async Task Write(
            string tab,
            string range,
            List <string[]> valueList)
        {
            string writeRange = $"{tab}!{range}";

            ValueRange valueRange = new ValueRange();

            valueRange.Values = valueList.ToArray();
            SpreadsheetsResource.ValuesResource.UpdateRequest updateRequest =
                new SpreadsheetsResource.ValuesResource.UpdateRequest(service,
                                                                      valueRange,
                                                                      spreadsheetId,
                                                                      writeRange);
            updateRequest.ValueInputOption
                = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED;
            while (true)
            {
                try
                {
                    await writeThrottle.WaitTillReady();

                    await updateRequest.ExecuteAsync();

                    break;
                }
                catch (Exception e)
                {
                    log.Error(e);

                    await Task.Delay(TimeSpan.FromSeconds(10));
                }
            }
        }
예제 #2
0
        public async Task <IList <IList <object> > > Read(
            string tab,
            string range)
        {
            string readRange = $"{tab}!{range}";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, readRange);

            while (true)
            {
                try
                {
                    await readThrottle.WaitTillReady();

                    ValueRange response = await request.ExecuteAsync();

                    return(response.Values);
                }
                catch (Exception e)
                {
                    log.Error(e);

                    await Task.Delay(TimeSpan.FromSeconds(10));
                }
            }
        }