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

2024-01-03

我遵循了 google Google Sheets API Android Quickstart 提供的 Android 快速入门,并且能够从 google 电子表格中检索数据,但我无法理解如何编写和更新单个或多个数据。

我从 StackOverflow 阅读了这段代码,我认为这很好,但我不明白如何在这里设置 (valueRange) 对象

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

如果您仍然需要答案,或者其他人需要答案:

我也遇到了同样的问题,从文档中,我能够解决这个问题。 这是我将数据写入工作表的方法

private void writeDataToApi() throws IOException {
            String spreadsheetId = "the_spreadsheet_id_like_the_google_example";
            String range = "YourSheetName!A1:B1"; //Read the docs on how these ranges work.
            //Currently, this is the range of a single row which would return
            //as [[objA, objB]] if major dimension is set as ROW.(default).
            // would be [[objA],[objB]] if its set to COLUMN. Read the doc for more info.

            //for the values that you want to input, create a list of object lists
            List<List<Object>> values = new ArrayList<>();

            //Where each value represents the list of objects that is to be written to a range
            //I simply want to edit a single row, so I use a single list of objects
            List<Object> data1 = new ArrayList<>();
            data1.add("objA");
            data1.add("objB");

            //There are obviously more dynamic ways to do these, but you get the picture
            values.add(data1);

            //Create the valuerange object and set its fields
            ValueRange valueRange = new ValueRange();
            valueRange.setMajorDimension("ROWS");
            valueRange.setRange(range);
            valueRange.setValues(values);

            //then gloriously execute this copy-pasted code ;)
            this.mService.spreadsheets().values()
                    .update(spreadsheetId, range, valueRange)
                    .setValueInputOption("RAW")
                    .execute();

            //Try calling this method before executing the readDataFromApi method, 
            //and you'll see the immediate change

        }

我希望这有帮助。 欲了解更多信息,请参阅docs https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update

编辑:还记得更改范围SheetsScopes.SPREADSHEETS_READONLY to SheetsScopes.SPREADSHEETS

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何写入和更新数据到谷歌电子表格android(api v4) 的相关文章

  • 在解决依赖关系之前运行 gradle 任务

    我想运行一个 gradle 任务 在 gradle 尝试解决依赖关系之前获取其他源并设置它们 在 build gradle 中有一个任务 用于获取子项目的源代码 该任务需要在 Gradle 尝试解决依赖关系之前运行 因为子项目是依赖关系的一
  • 检测正在插入的设备

    我希望能够检测设备是否已插入 我希望能够像查询连接状态一样进行查询 这可能吗 或者我是否需要创建一个监听电池事件的广播接收器 显然是ACTION BATTERY CHANGED http developer android com refe
  • Google Sheet - 使用 arrayformula 将两列转换为一列(超过 50,000 个字符)

    我正在使用 Google Sheets 并寻找一个数组公式 该数组公式能够将列表分为两列并将其交替排列在一列中 该表包含约 5 000 行 每行超过 35 个字符 我试过这个 transpose split join query trans
  • 从 admob 独立 SDK 切换到 Google Play 服务 SDK 时,apk 大小会膨胀

    使用 Admob SDK 我的 apk 大小为 230Kb 当用 google play services SDK 替换 Admob SDK 时 它是 1 5MB 膨胀了 6 倍以上 我想完整的 Google Play 服务客户端 SDK
  • 收到“提供的 API 密钥已过期”。使用 Places API 时出错

    我已经从 Google 控制台为 Places API 密钥生成了服务器密钥 但每当我访问该服务时 我都会收到 提供的 API 密钥已过期 错误 我已尝试重新生成密钥 但仍然出现相同的错误 我遇到了同样的问题 但终于解决了 Google 地
  • 意图过滤器到底是什么?

    我读过很多关于意图过滤器的文章 但我真的无法理解它们到底是做什么的 那么 如果有人可以用一个清晰 的例子向我解释意图过滤器的作用到底是什么 thanks 我认为这是有据可查的here http developer android com g
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • Android/java:从 ProGuard 过渡/迁移到 R8?

    我想知道如何从ProGuard to R8 我是否应该从 Gradle 文件中删除与 Proguard 相关的行并添加android enableR8 true线代替 Thanks Proguard 由 GuardSquare 开发和维护
  • Android:NotificationCompat.MediaStyle 操作按钮不执行任何操作

    我有一个简单的 Android 应用程序 其中包含一个Activity and a Service源自于MediaBrowserServiceCompat 我已成功将其设置为通过使用播放我的主要活动中的音频MediaBrowserCompa
  • Android:让用户从图库中选择图像或视频

    是否可以以这样的方式启动图库 以便同时显示图片和视频 Thanks 从图库中选择音频文件 Use MediaStore Audio Media EXTERNAL CONTENT URI Intent intent new Intent In
  • Android物理引擎[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在研究了 3D 游戏编程之后 很快就明白了为什么物理引擎非常有用 Android 支持哪些物理引擎并且可以在 Android 上使用 关于
  • 按钮上方带有文本的单选按钮

    我是 Android 新手 我需要在我的活动中添加单选按钮 但我需要将文本放在项目符号按钮的顶部 请提供任何帮助 我发现了以下内容 尽管我不明白 drawable in 选择器和 style Tab 样式是什么 顶部带有文本的单选按钮 ht
  • 如何在谷歌表格查询中转义双引号和单引号?

    我在谷歌表格单元格中有这个查询 QUERY Sheet1 A2 F SELECT WHERE A te xt text 0 我可以像这样转义双引号 text text 但是我怎样才能逃脱双引号和单引号呢 te xt text 一种可能的替代
  • 带有内容提供商的小部件;无法使用ReadPermission?

    所以我刚刚为我的应用程序实现了一个小部件 它通过我的数据库从数据库获取数据ContentProvider 我在清单中定义了自己的读 写权限 声明我使用它们 似乎没有什么区别 并在内容提供程序中要求它们
  • 如何编写 adb jdwp + adbforward 脚本?

    我正在尝试使用命令行和脚本工具调试 Android 应用程序 我已经受够了 Android Studio 占用我的 CPU 要连接到我的应用程序 我需要adb jdwp获取 pid 然后adb forward tcp 8700 jdwp
  • Eclipse Android 模拟器 - 键盘不工作

    我刚刚更新到最新的 SDK 版本 16 使用最新版本的 API 16 创建了新版本的 AVD 并且我的硬件键盘在模拟器上不再工作 甚至我的其他 avd 使用旧版本的 sdk 任何想法如何解决这一问题 您的 AVD 的 键盘支持 硬件属性是否
  • 调用属于Fragment的Activity的函数

    我正在与多个Fragments在 Android 下 我对如何从嵌入式应用程序发送和接收数据感到困惑 为了简单的解释 我有一个ListFragment and a MapFragment使用解释的方法here https stackover
  • 使用磁场计算旋转矩阵

    在获取旋转矩阵值时它包含public static boolean getRotationMatrix float R float I float gravity float geomagnetic 这里我如何计算float gravity
  • 使用Android Camera API,拍摄照片的方向始终未定义

    我使用相机API 拍摄的照片总是旋转90度 我想旋转它 所以首先我想知道图片的方向 这一点我被卡住了 我总是以两种方式得到未定义的方向 这是代码 Override public void onPictureTaken byte data C
  • 找不到与给定名称“@style/Theme.AppCompat.Light”匹配的资源

    我已经研究这个问题几个小时了 从 github 下载存储库后 任何 xml 文件中的唯一错误是 No resource found that matches the given name style Theme AppCompat Ligh

随机推荐