Sample code for 30+ languages & platforms
Dart

Google Sheets - Read a Single Range

See more Google Sheets Examples

Reads the values stored in the range Sheet1!A1:B5 and returns them in the response.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // This example uses a previously obtained access token having permission for the 
  // Google Sheets scope.

  // In this example, Get Google Sheets OAuth2 Access Token, the access
  // token was saved to a JSON file.  This example fetches the access token from the file..
  final jsonToken = CkJsonObject();
  jsonToken.loadFile('qa_data/tokens/googleSheets.json');
  if (!jsonToken.hasMember('access_token')) {
    print('No access token found.');
    return;
  }

  final http = CkHttp();
  http.authToken = jsonToken.stringOf('access_token');
  http.sessionLogFilename = 'qa_output/sessionLog.txt';

  // Get the cells defined by the range A1:B5
  final String jsonResponse;
  try {
    jsonResponse = http.quickGetStr('https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:B5');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(jsonResponse);

  final json = CkJsonObject();
  json.load(jsonResponse);

  // A sample response is shown below.
  // To generate the parsing source code for a JSON response, paste
  // the JSON into this online tool: Generate JSON parsing code

  // {
  //   "range": "Sheet1!A1:B5",
  //   "majorDimension": "ROWS",
  //   "values": [
  //     [
  //       "Item",
  //       "Cost"
  //     ],
  //     [
  //       "Wheel",
  //       "$20.50"
  //     ],
  //     [
  //       "Door",
  //       "$15"
  //     ],
  //     [
  //       "Engine",
  //       "$100"
  //     ],
  //     [
  //       "Totals",
  //       "$135.50"
  //     ]
  //   ]
  // }

  var i = 0;
  var j = 0;
  var countJ = 0;

  final range = json.stringOf('range');
  final majorDimension = json.stringOf('majorDimension');
  i = 0;
  final countI = json.sizeOfArray('values');
  while (i < countI) {
    json.i = i;
    j = 0;
    countJ = json.sizeOfArray('values[i]');
    while (j < countJ) {
      json.j = j;
      final strVal = json.stringOf('values[i][j]');
      j++;
    }

    i++;
  }
}