Google Sheets API v4 for Flutter/Dart
https://pub.dartlang.org/packages/googleapis can be used in Flutter and supports Sheets v4
See also
- https://pub.dartlang.org/packages/googleapis_beta for other supported APIs that are only in beta state yet.
- How to use Google API in flutter?
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?');
}