flutter - 在 Dart/Flutter 中使用 Google 表格
问题描述
我正在尝试编写一个简单的 Dart/Flutter 程序。实际上,我正在尝试在更复杂的功能中添加一个功能,但是由于我已经连续两天尝试了所有方法,而且我开始失去理智,所以我会接受这个。
理想情况下,我的代码将允许我从用户的个人 Google 表格中选择一个电子表格,从中读取,创建一个新表格并在其上写入一些信息。
现在,如果有人能告诉我如何在用户的个人 Google 表格上创建电子表格并在 A1 上写一个简单的值,我将永远欠那个人的债。它甚至不需要在屏幕上显示任何内容。只需创建那个该死的电子表格。
我以前从未使用过 Google API,所以我可能做错了什么,但我不知道它是什么。
- 我想读/写用户的个人表格。所以我正在使用来自 Google Developer Console 的客户端 ID OAuth 2.0。
- 我已经尝试了我能在这里找到的一切,我开始放弃,这就是我寻求解决方案的原因。一个简单的解决方案。我可以从那开始工作,但是说“你应该使用 XX 包”的帖子并没有帮助我解决这个问题。
谢谢
编辑:我最后一次尝试
import 'package:googleapis/sheets/v4.dart';
import "package:googleapis_auth/auth_io.dart" as auth;
void main() {
var id = auth.ClientId(
"...myID....apps.googleusercontent.com",
"...");
var scopes = ["https://www.googleapis.com/auth/spreadsheets"];
auth.clientViaUserConsent(id, scopes, prompt).then((auth.AuthClient client) {
SheetsApi api = SheetsApi(client);
//Here I'd do things, if I could
client.close();
});
}
void prompt(String url) {
print("Please go to the following URL and grant access:");
print(" => $url");
print("");
}
我转到 URL,并授予访问权限,但随后我被重定向到我的本地主机
解决方案
您只需要使用电子表格的 JSON 表示形式向https://sheets.googleapis.com/v4/spreadsheets
端点发送 POST 请求,例如:
{
"spreadsheetId": string,
"properties": {
object (SpreadsheetProperties)
},
"sheets": [
{
object (Sheet)
}
],
"namedRanges": [
{
object (NamedRange)
}
],
"spreadsheetUrl": string,
"developerMetadata": [
{
object (DeveloperMetadata)
}
]
}
您可以在官方google sheet API 文档中获得更多信息。
如果您想开始使用电子表格操作的项目,googleapis包是必须的。
推荐阅读
- html - html 表单发布到 aspx 页面,标题字段未发布。Chrome 说请求是 GET,根本不显示表单数据
- python - 如何使用 python api 更改搅拌机上的环境纹理?
- tcp - 如何修改linux内核中的默认tcp实现
- css - 在 React 中使用 className 修改字体大小
- python - python 和 PHP 的共享配置文件格式
- android - 无法将 Retrofit enqueue 的输出传递给 MainActivity Kotlin
- twitter-bootstrap-3 - 如何在我的网站中解决此导航栏问题?
- javascript - 我可以告诉 useMemo 跳过其依赖数组中的空值吗?
- oracle-apex - Oracle Apex 默认“创建”按钮
- maven - 默认情况下,maven 是否将所有依赖项添加到模块路径?