spreadsheet method

Future<Spreadsheet> spreadsheet(
  1. String spreadsheetId, {
  2. ValueRenderOption render = ValueRenderOption.unformattedValue,
  3. ValueInputOption input = ValueInputOption.userEntered,
})

Fetches and returns Future Spreadsheet.

Requires SheetsApi.SpreadsheetsScope.

render - determines how values should be rendered in the output. https://developers.google.com/sheets/api/reference/rest/v4/ValueRenderOption

input - determines how input data should be interpreted. https://developers.google.com/sheets/api/reference/rest/v4/ValueInputOption

Throws Exception if GSheets's scopes does not include SpreadsheetsScope. Throws GSheetsException if does not have permission.

Implementation

Future<Spreadsheet> spreadsheet(
  String spreadsheetId, {
  ValueRenderOption render = ValueRenderOption.unformattedValue,
  ValueInputOption input = ValueInputOption.userEntered,
}) async {
  final client = await this.client.catchError((_) {
    // retry once on error
    _client = null;
    return this.client;
  });
  final response = await client.get('$_sheetsEndpoint$spreadsheetId'.toUri());
  checkResponse(response);
  return Spreadsheet._fromJson(
    json: jsonDecode(response.body),
    client: client,
    renderOption: _parseRenderOption(render),
    inputOption: _parseInputOption(input),
  );
}