如何更新/写入数据到谷歌电子表格api android(api v4)

时间:2016-06-27 11:20:58

标签: android google-spreadsheet-api

我一直在开发一个应用程序,我需要使用google电子表格api编写和更新数据到电子表格。我已经关注了谷歌Google Sheets API Android Quickstart提供的Android快速入门,并且能够从谷歌电子表格中检索数据,但我无法理解如何编写数据。请帮忙

3 个答案:

答案 0 :(得分:10)

如果您正确地遵循了快速入门教程,那么您只需几步即可学习如何编写数据。

在快速入门教程中提供的代码中,更改行

private static final String[] SCOPES = { SheetsScopes.SPREADSHEETS_READONLY };

为:

private static final String[] SCOPES = { SheetsScopes.SPREADSHEETS };

这将授予在电子表格上写入的权限。

而不是像

那样的东西
ValueRange response = this.mService.spreadsheets().values()
                .get(spreadsheetId, range)
                .execute();
List<List<Object>> values = response.getValues();

你必须在这个例子中创建自己的ValueRange实例valueRange,然后写:

this.mService.spreadsheets().values().update(spreadsheetId, range, valueRange)
                    .setValueInputOption("RAW")
                    .execute();

选择您偏好的ValueInputOption。

答案 1 :(得分:2)

经过大量寻找具体的例子而没有找到它之后,只有在这里我才能得到一些对我有用的东西,还有我为像我这样的初学者添加的东西。感谢@ Veiga

Object a1 = new Object();
a1 = "TEST Row 1 Column A";
Object b1 = new Object();
b1 = "TEST Row 1 Column B";

Object a2 = new Object();
a2 = "TEST Row 2 Column A";
Object b2 = new Object();
b2 = "TEST Row 2 Column B";

ValueRange valueRange = new ValueRange();
valueRange.setValues(
        Arrays.asList(
                Arrays.asList(a1, b1),
                Arrays.asList(a2, b2)));

this.mService.spreadsheets().values().update(spreadsheetId, "A1:B2", valueRange)
        .setValueInputOption("RAW")
        .execute();

我留下这个具体的例子,因为我看到的其他线程抛出了诸如“List<String>之类的编译问题,因此不能接受List<Object>”。

但我感谢那些合作者,例如@ k9yosh在How to assign a value to a ValueRange variable in java? 的答案中,因为他们也是我为这个案例制定具体解决方案的灵感。

答案 2 :(得分:0)

请尝试浏览Manage List-based and Cell-based Feeds以阅读和修改Google表格中的工作表和数据。

但是,由于您正在寻找最新信息,如帖子标题所示,并且由于Google表格API版本4现已推出,以下参考资料也非常有用:< / p>