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)); } } }
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)); } } }