Google Sheets API v4 for Flutter/Dart
Asked Answered
N

3

7

Will there be Google Sheets API v4 support for Dart/Flutter, if yes when is it coming? It already has support for many languages but Dart/Flutter is not listed in their guides.

Nerta answered 28/9, 2017 at 10:4 Comment(0)
F
13

googleapis package can be used in Flutter and supports Sheets v4

See also this similar Stack Overflow question

Frenzied answered 28/9, 2017 at 10:6 Comment(2)
Thanks Gunter. Pity that not many examples for dartlang google apis, and no example for google sheets api.Nerta
Yup, but examples from other languages shouldn't be too hard to convert. If you're stuck just post a question.Zygote
H
5

I created a project, enabled the sheets API for it, then created a 'robot-style' service account, and download the key as JSON. I then created a Google Sheet, and made it publicly accessible, noting its key.

This code connects, and updates an existing sheet by appending a new line of data. No error handling, but some print() statements to help visualise the flow.

// Key for service account copied from downloaded file for demo purposes ;-)
final _key = {
  "type": "service_account",
  "project_id": //etc
  // ...
  // ...
};

print('getting oauth');
auth
    .obtainAccessCredentialsViaServiceAccount(
        auth.ServiceAccountCredentials.fromJson(_key),
        scopes,
        http.Client())
    .then((auth.AccessCredentials cred) {
  print('got oauth');

  auth.AuthClient client = auth.authenticatedClient(http.Client(), cred);
  SheetsApi api = new SheetsApi(client);
  ValueRange vr = new ValueRange.fromJson({
    "values": [
      [ // fields A - J
        "15/02/2019", "via API 3", "5", "3", "3", "3", "3", "3", "3", "3"
      ]
    ]
  });
  print('about to append');
  api.spreadsheets.values
      .append(vr, '1cl...spreadsheet_key...W5E', 'A:J',
          valueInputOption: 'USER_ENTERED')
      .then((AppendValuesResponse r) {
    print('append completed.');
    client.close();
  });
  print('called append()');
});
print('ended?');

}

Horatio answered 15/2, 2019 at 15:9 Comment(3)
What the scope should be? Where can I find the related information?Monongahela
Have a look at the OAuth2 documentation for the service you're using. For sheets, it's here: developers.google.com/sheets/api/guides/authorizingHoratio
What datatype is auth ?Tele
S
1

There's a dart 3rd party library that helps to perform basic operations https://pub.dev/packages/gsheets.

You can also use official library https://pub.dartlang.org/packages/googleapis that helps to perform almost any operation, but it's more difficult to use and sometimes requires knowledge of the API https://developers.google.com/sheets/api/reference/rest

Schermerhorn answered 8/4, 2020 at 20:32 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.