Google Sheets API . spreadsheets . values

Instance Methods

append(spreadsheetId, range, body=None, includeValuesInResponse=None, insertDataOption=None, responseDateTimeRenderOption=None, responseValueRenderOption=None, valueInputOption=None, x__xgafv=None)

Appends values to a spreadsheet. The input range is used to search for existing data and find a "table" within that range. Values will be appended to the next row of the table, starting with the first column of the table. See the [guide](/sheets/api/guides/values#appending_values) and [sample code](/sheets/api/samples/writing#append_values) for specific details of how tables are detected and data is appended. The caller must specify the spreadsheet ID, range, and a valueInputOption. The `valueInputOption` only controls how the input data will be added to the sheet (column-wise or row-wise), it does not influence what cell the data starts being written to.

batchClear(spreadsheetId, body=None, x__xgafv=None)

Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

batchClearByDataFilter(spreadsheetId, body=None, x__xgafv=None)

Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

batchGet(spreadsheetId, dateTimeRenderOption=None, majorDimension=None, ranges=None, valueRenderOption=None, x__xgafv=None)

Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges.

batchGetByDataFilter(spreadsheetId, body=None, x__xgafv=None)

Returns one or more ranges of values that match the specified data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges that match any of the data filters in the request will be returned.

batchUpdate(spreadsheetId, body=None, x__xgafv=None)

Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges.

batchUpdateByDataFilter(spreadsheetId, body=None, x__xgafv=None)

Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges.

clear(spreadsheetId, range, body=None, x__xgafv=None)

Clears values from a spreadsheet. The caller must specify the spreadsheet ID and range. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

close()

Close httplib2 connections.

get(spreadsheetId, range, dateTimeRenderOption=None, majorDimension=None, valueRenderOption=None, x__xgafv=None)

Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range.

update(spreadsheetId, range, body=None, includeValuesInResponse=None, responseDateTimeRenderOption=None, responseValueRenderOption=None, valueInputOption=None, x__xgafv=None)

Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption.

Method Details

append(spreadsheetId, range, body=None, includeValuesInResponse=None, insertDataOption=None, responseDateTimeRenderOption=None, responseValueRenderOption=None, valueInputOption=None, x__xgafv=None)
Appends values to a spreadsheet. The input range is used to search for existing data and find a "table" within that range. Values will be appended to the next row of the table, starting with the first column of the table. See the [guide](/sheets/api/guides/values#appending_values) and [sample code](/sheets/api/samples/writing#append_values) for specific details of how tables are detected and data is appended. The caller must specify the spreadsheet ID, range, and a valueInputOption. The `valueInputOption` only controls how the input data will be added to the sheet (column-wise or row-wise), it does not influence what cell the data starts being written to.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  range: string, The A1 notation of a range to search for a logical table of data. Values are appended after the last row of the table. (required)
  body: object, The request body.
    The object takes the form of:

{ # Data within a range of the spreadsheet.
  "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
  "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
  "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
    [
      "",
    ],
  ],
}

  includeValuesInResponse: boolean, Determines if the update response should include the values of the cells that were appended. By default, responses do not include the updated values.
  insertDataOption: string, How the input data should be inserted.
    Allowed values
      OVERWRITE - The new data overwrites existing data in the areas it is written. (Note: adding data to the end of the sheet will still insert new rows or columns so the data can be written.)
      INSERT_ROWS - Rows are inserted for the new data.
  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
    Allowed values
      SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in "serial number" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
      FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
    Allowed values
      FORMATTED_VALUE - Values will be calculated & formatted in the reply according to the cell's formatting. Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `"$1.23"`.
      UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
      FORMULA - Values will not be calculated. The reply will include the formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then A2 would return `"=A1"`.
  valueInputOption: string, How the input data should be interpreted.
    Allowed values
      INPUT_VALUE_OPTION_UNSPECIFIED - Default input value. This value must not be used.
      RAW - The values the user has entered will not be parsed and will be stored as-is.
      USER_ENTERED - The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when updating a range of values in a spreadsheet.
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
  "tableRange": "A String", # The range (in A1 notation) of the table that values are being appended to (before the values were appended). Empty if no table was found.
  "updates": { # The response when updating a range of values in a spreadsheet. # Information about the updates that were applied.
    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
    "updatedCells": 42, # The number of cells updated.
    "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
    "updatedData": { # Data within a range of the spreadsheet. # The values of the cells after updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`.
      "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
      "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
      "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
        [
          "",
        ],
      ],
    },
    "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
    "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
  },
}
batchClear(spreadsheetId, body=None, x__xgafv=None)
Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for clearing more than one range of values in a spreadsheet.
  "ranges": [ # The ranges to clear, in A1 or R1C1 notation.
    "A String",
  ],
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when clearing a range of values in a spreadsheet.
  "clearedRanges": [ # The ranges that were cleared, in A1 notation. If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is the actual ranges that were cleared, bounded to the sheet's limits.
    "A String",
  ],
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
}
batchClearByDataFilter(spreadsheetId, body=None, x__xgafv=None)
Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for clearing more than one range selected by a DataFilter in a spreadsheet.
  "dataFilters": [ # The DataFilters used to determine which ranges to clear.
    { # Filter that describes what data should be selected or returned from a request.
      "a1Range": "A String", # Selects data that matches the specified A1 range.
      "developerMetadataLookup": { # Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that matches the intersection of all the specified fields; any field or combination of fields may be specified. # Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup.
        "locationMatchingStrategy": "A String", # Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified.
        "locationType": "A String", # Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location: spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT.
        "metadataId": 42, # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id.
        "metadataKey": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key.
        "metadataLocation": { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy.
          "dimensionRange": { # A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. # Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column; it cannot be unbounded or span multiple rows or columns.
            "dimension": "A String", # The dimension of the span.
            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
            "sheetId": 42, # The sheet this span is on.
            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
          },
          "locationType": "A String", # The type of location this object represents. This field is read-only.
          "sheetId": 42, # The ID of the sheet when metadata is associated with an entire sheet.
          "spreadsheet": True or False, # True when metadata is associated with an entire spreadsheet.
        },
        "metadataValue": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value.
        "visibility": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.
      },
      "gridRange": { # A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 0, then: `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. # Selects data that matches the range described by the GridRange.
        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
        "sheetId": 42, # The sheet this range is on.
        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
      },
    },
  ],
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when clearing a range of values selected with DataFilters in a spreadsheet.
  "clearedRanges": [ # The ranges that were cleared, in A1 notation. If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is the actual ranges that were cleared, bounded to the sheet's limits.
    "A String",
  ],
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
}
batchGet(spreadsheetId, dateTimeRenderOption=None, majorDimension=None, ranges=None, valueRenderOption=None, x__xgafv=None)
Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges.

Args:
  spreadsheetId: string, The ID of the spreadsheet to retrieve data from. (required)
  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
    Allowed values
      SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in "serial number" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
      FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
  majorDimension: string, The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` returns `[[1,3],[2,4]]`.
    Allowed values
      DIMENSION_UNSPECIFIED - The default value, do not use.
      ROWS - Operates on the rows of a sheet.
      COLUMNS - Operates on the columns of a sheet.
  ranges: string, The A1 notation or R1C1 notation of the range to retrieve values from. (repeated)
  valueRenderOption: string, How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.
    Allowed values
      FORMATTED_VALUE - Values will be calculated & formatted in the reply according to the cell's formatting. Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `"$1.23"`.
      UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
      FORMULA - Values will not be calculated. The reply will include the formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then A2 would return `"=A1"`.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when retrieving more than one range of values in a spreadsheet.
  "spreadsheetId": "A String", # The ID of the spreadsheet the data was retrieved from.
  "valueRanges": [ # The requested values. The order of the ValueRanges is the same as the order of the requested ranges.
    { # Data within a range of the spreadsheet.
      "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
      "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
      "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
        [
          "",
        ],
      ],
    },
  ],
}
batchGetByDataFilter(spreadsheetId, body=None, x__xgafv=None)
Returns one or more ranges of values that match the specified data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges that match any of the data filters in the request will be returned.

Args:
  spreadsheetId: string, The ID of the spreadsheet to retrieve data from. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for retrieving a range of values in a spreadsheet selected by a set of DataFilters.
  "dataFilters": [ # The data filters used to match the ranges of values to retrieve. Ranges that match any of the specified data filters are included in the response.
    { # Filter that describes what data should be selected or returned from a request.
      "a1Range": "A String", # Selects data that matches the specified A1 range.
      "developerMetadataLookup": { # Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that matches the intersection of all the specified fields; any field or combination of fields may be specified. # Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup.
        "locationMatchingStrategy": "A String", # Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified.
        "locationType": "A String", # Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location: spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT.
        "metadataId": 42, # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id.
        "metadataKey": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key.
        "metadataLocation": { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy.
          "dimensionRange": { # A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. # Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column; it cannot be unbounded or span multiple rows or columns.
            "dimension": "A String", # The dimension of the span.
            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
            "sheetId": 42, # The sheet this span is on.
            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
          },
          "locationType": "A String", # The type of location this object represents. This field is read-only.
          "sheetId": 42, # The ID of the sheet when metadata is associated with an entire sheet.
          "spreadsheet": True or False, # True when metadata is associated with an entire spreadsheet.
        },
        "metadataValue": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value.
        "visibility": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.
      },
      "gridRange": { # A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 0, then: `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. # Selects data that matches the range described by the GridRange.
        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
        "sheetId": 42, # The sheet this range is on.
        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
      },
    },
  ],
  "dateTimeRenderOption": "A String", # How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
  "majorDimension": "A String", # The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then a request that selects that range and sets `majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas a request that sets `majorDimension=COLUMNS` returns `[[1,3],[2,4]]`.
  "valueRenderOption": "A String", # How values should be represented in the output. The default render option is FORMATTED_VALUE.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when retrieving more than one range of values in a spreadsheet selected by DataFilters.
  "spreadsheetId": "A String", # The ID of the spreadsheet the data was retrieved from.
  "valueRanges": [ # The requested values with the list of data filters that matched them.
    { # A value range that was matched by one or more data filers.
      "dataFilters": [ # The DataFilters from the request that matched the range of values.
        { # Filter that describes what data should be selected or returned from a request.
          "a1Range": "A String", # Selects data that matches the specified A1 range.
          "developerMetadataLookup": { # Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that matches the intersection of all the specified fields; any field or combination of fields may be specified. # Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup.
            "locationMatchingStrategy": "A String", # Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified.
            "locationType": "A String", # Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location: spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT.
            "metadataId": 42, # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id.
            "metadataKey": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key.
            "metadataLocation": { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy.
              "dimensionRange": { # A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. # Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column; it cannot be unbounded or span multiple rows or columns.
                "dimension": "A String", # The dimension of the span.
                "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
                "sheetId": 42, # The sheet this span is on.
                "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
              },
              "locationType": "A String", # The type of location this object represents. This field is read-only.
              "sheetId": 42, # The ID of the sheet when metadata is associated with an entire sheet.
              "spreadsheet": True or False, # True when metadata is associated with an entire spreadsheet.
            },
            "metadataValue": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value.
            "visibility": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.
          },
          "gridRange": { # A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 0, then: `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. # Selects data that matches the range described by the GridRange.
            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
            "sheetId": 42, # The sheet this range is on.
            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
          },
        },
      ],
      "valueRange": { # Data within a range of the spreadsheet. # The values matched by the DataFilter.
        "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
        "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
        "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
          [
            "",
          ],
        ],
      },
    },
  ],
}
batchUpdate(spreadsheetId, body=None, x__xgafv=None)
Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for updating more than one range of values in a spreadsheet.
  "data": [ # The new values to apply to the spreadsheet.
    { # Data within a range of the spreadsheet.
      "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
      "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
      "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
        [
          "",
        ],
      ],
    },
  ],
  "includeValuesInResponse": True or False, # Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
  "responseDateTimeRenderOption": "A String", # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
  "responseValueRenderOption": "A String", # Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
  "valueInputOption": "A String", # How the input data should be interpreted.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when updating a range of values in a spreadsheet.
  "responses": [ # One UpdateValuesResponse per requested range, in the same order as the requests appeared.
    { # The response when updating a range of values in a spreadsheet.
      "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
      "updatedCells": 42, # The number of cells updated.
      "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
      "updatedData": { # Data within a range of the spreadsheet. # The values of the cells after updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`.
        "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
        "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
        "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
          [
            "",
          ],
        ],
      },
      "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
      "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
    },
  ],
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
  "totalUpdatedCells": 42, # The total number of cells updated.
  "totalUpdatedColumns": 42, # The total number of columns where at least one cell in the column was updated.
  "totalUpdatedRows": 42, # The total number of rows where at least one cell in the row was updated.
  "totalUpdatedSheets": 42, # The total number of sheets where at least one cell in the sheet was updated.
}
batchUpdateByDataFilter(spreadsheetId, body=None, x__xgafv=None)
Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for updating more than one range of values in a spreadsheet.
  "data": [ # The new values to apply to the spreadsheet. If more than one range is matched by the specified DataFilter the specified values are applied to all of those ranges.
    { # A range of values whose location is specified by a DataFilter.
      "dataFilter": { # Filter that describes what data should be selected or returned from a request. # The data filter describing the location of the values in the spreadsheet.
        "a1Range": "A String", # Selects data that matches the specified A1 range.
        "developerMetadataLookup": { # Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that matches the intersection of all the specified fields; any field or combination of fields may be specified. # Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup.
          "locationMatchingStrategy": "A String", # Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified.
          "locationType": "A String", # Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location: spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT.
          "metadataId": 42, # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id.
          "metadataKey": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key.
          "metadataLocation": { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy.
            "dimensionRange": { # A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. # Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column; it cannot be unbounded or span multiple rows or columns.
              "dimension": "A String", # The dimension of the span.
              "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
              "sheetId": 42, # The sheet this span is on.
              "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
            },
            "locationType": "A String", # The type of location this object represents. This field is read-only.
            "sheetId": 42, # The ID of the sheet when metadata is associated with an entire sheet.
            "spreadsheet": True or False, # True when metadata is associated with an entire spreadsheet.
          },
          "metadataValue": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value.
          "visibility": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.
        },
        "gridRange": { # A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 0, then: `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. # Selects data that matches the range described by the GridRange.
          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
          "sheetId": 42, # The sheet this range is on.
          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
        },
      },
      "majorDimension": "A String", # The major dimension of the values.
      "values": [ # The data to be written. If the provided values exceed any of the ranges matched by the data filter then the request fails. If the provided values are less than the matched ranges only the specified values are written, existing values in the matched ranges remain unaffected.
        [
          "",
        ],
      ],
    },
  ],
  "includeValuesInResponse": True or False, # Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
  "responseDateTimeRenderOption": "A String", # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
  "responseValueRenderOption": "A String", # Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
  "valueInputOption": "A String", # How the input data should be interpreted.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when updating a range of values in a spreadsheet.
  "responses": [ # The response for each range updated.
    { # The response when updating a range of values by a data filter in a spreadsheet.
      "dataFilter": { # Filter that describes what data should be selected or returned from a request. # The data filter that selected the range that was updated.
        "a1Range": "A String", # Selects data that matches the specified A1 range.
        "developerMetadataLookup": { # Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that matches the intersection of all the specified fields; any field or combination of fields may be specified. # Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup.
          "locationMatchingStrategy": "A String", # Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified.
          "locationType": "A String", # Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location: spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT.
          "metadataId": 42, # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id.
          "metadataKey": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key.
          "metadataLocation": { # A location where metadata may be associated in a spreadsheet. # Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy.
            "dimensionRange": { # A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. # Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column; it cannot be unbounded or span multiple rows or columns.
              "dimension": "A String", # The dimension of the span.
              "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
              "sheetId": 42, # The sheet this span is on.
              "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
            },
            "locationType": "A String", # The type of location this object represents. This field is read-only.
            "sheetId": 42, # The ID of the sheet when metadata is associated with an entire sheet.
            "spreadsheet": True or False, # True when metadata is associated with an entire spreadsheet.
          },
          "metadataValue": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value.
          "visibility": "A String", # Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.
        },
        "gridRange": { # A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 0, then: `Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 0, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 0, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id:0` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. # Selects data that matches the range described by the GridRange.
          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
          "sheetId": 42, # The sheet this range is on.
          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
        },
      },
      "updatedCells": 42, # The number of cells updated.
      "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
      "updatedData": { # Data within a range of the spreadsheet. # The values of the cells in the range matched by the dataFilter after all updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`.
        "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
        "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
        "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
          [
            "",
          ],
        ],
      },
      "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
      "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
    },
  ],
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
  "totalUpdatedCells": 42, # The total number of cells updated.
  "totalUpdatedColumns": 42, # The total number of columns where at least one cell in the column was updated.
  "totalUpdatedRows": 42, # The total number of rows where at least one cell in the row was updated.
  "totalUpdatedSheets": 42, # The total number of sheets where at least one cell in the sheet was updated.
}
clear(spreadsheetId, range, body=None, x__xgafv=None)
Clears values from a spreadsheet. The caller must specify the spreadsheet ID and range. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  range: string, The A1 notation or R1C1 notation of the values to clear. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for clearing a range of values in a spreadsheet.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when clearing a range of values in a spreadsheet.
  "clearedRange": "A String", # The range (in A1 notation) that was cleared. (If the request was for an unbounded range or a ranger larger than the bounds of the sheet, this will be the actual range that was cleared, bounded to the sheet's limits.)
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
}
close()
Close httplib2 connections.
get(spreadsheetId, range, dateTimeRenderOption=None, majorDimension=None, valueRenderOption=None, x__xgafv=None)
Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range.

Args:
  spreadsheetId: string, The ID of the spreadsheet to retrieve data from. (required)
  range: string, The A1 notation or R1C1 notation of the range to retrieve values from. (required)
  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
    Allowed values
      SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in "serial number" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
      FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
  majorDimension: string, The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` returns `[[1,3],[2,4]]`.
    Allowed values
      DIMENSION_UNSPECIFIED - The default value, do not use.
      ROWS - Operates on the rows of a sheet.
      COLUMNS - Operates on the columns of a sheet.
  valueRenderOption: string, How values should be represented in the output. The default render option is FORMATTED_VALUE.
    Allowed values
      FORMATTED_VALUE - Values will be calculated & formatted in the reply according to the cell's formatting. Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `"$1.23"`.
      UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
      FORMULA - Values will not be calculated. The reply will include the formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then A2 would return `"=A1"`.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Data within a range of the spreadsheet.
  "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
  "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
  "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
    [
      "",
    ],
  ],
}
update(spreadsheetId, range, body=None, includeValuesInResponse=None, responseDateTimeRenderOption=None, responseValueRenderOption=None, valueInputOption=None, x__xgafv=None)
Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption.

Args:
  spreadsheetId: string, The ID of the spreadsheet to update. (required)
  range: string, The A1 notation of the values to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # Data within a range of the spreadsheet.
  "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
  "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
  "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
    [
      "",
    ],
  ],
}

  includeValuesInResponse: boolean, Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
    Allowed values
      SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in "serial number" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
      FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
    Allowed values
      FORMATTED_VALUE - Values will be calculated & formatted in the reply according to the cell's formatting. Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `"$1.23"`.
      UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
      FORMULA - Values will not be calculated. The reply will include the formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then A2 would return `"=A1"`.
  valueInputOption: string, How the input data should be interpreted.
    Allowed values
      INPUT_VALUE_OPTION_UNSPECIFIED - Default input value. This value must not be used.
      RAW - The values the user has entered will not be parsed and will be stored as-is.
      USER_ENTERED - The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response when updating a range of values in a spreadsheet.
  "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
  "updatedCells": 42, # The number of cells updated.
  "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
  "updatedData": { # Data within a range of the spreadsheet. # The values of the cells after updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`.
    "majorDimension": "A String", # The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS.
    "range": "A String", # The range the values cover, in A1 notation. For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended.
    "values": [ # The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string.
      [
        "",
      ],
    ],
  },
  "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
  "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
}