Javascript 在Node.JS中,我将如何;shift";使用GoogleSheetsAPI,你能得到一个完整的值范围吗?

Javascript 在Node.JS中,我将如何;shift";使用GoogleSheetsAPI,你能得到一个完整的值范围吗?,javascript,node.js,google-api,google-sheets-api,Javascript,Node.js,Google Api,Google Sheets Api,我有一个谷歌电子表格,它是由Node.JS应用程序读写的 在一个场景中,我需要将整个范围向上移动一次(将A3:D向上移动一次),但是由于我对googlesheetsapi非常陌生,所以我没有这样做。我考虑过使用这些方法: a) 复制范围内的所有值并将其粘贴一个 使用sheets.spreadsheet.values.get,我将获得A3:D中的所有值,然后使用toLocaleString()将其保存为数组。然后,我将清除该范围内的所有值。最后,我将把数据放在A2:D范围内 问题:在设置数据时,我

我有一个谷歌电子表格,它是由Node.JS应用程序读写的

在一个场景中,我需要将整个范围向上移动一次(将
A3:D
向上移动一次),但是由于我对googlesheetsapi非常陌生,所以我没有这样做。我考虑过使用这些方法:

a) 复制范围内的所有值并将其粘贴一个 使用
sheets.spreadsheet.values.get
,我将获得
A3:D
中的所有值,然后使用
toLocaleString()将其保存为数组。然后,我将清除该范围内的所有值。最后,我将把数据放在
A2:D
范围内

问题:在设置数据时,我会使用数组还是简单地使用
response.value.data
,甚至简单地使用
response.value
?我如何将数组传递给
sheets.spreadsheet.values.set
作为参数

b) 在所有值下面插入一行 我会使用这篇文章中的方法:

问题:这似乎是一个好方法,但我感觉它会导致奇怪的行为。我的电子表格中有一个“标题”行(没有实际数据),我担心这样做会覆盖它。另外,在实际插入新行的位置获取行号的最佳方法是什么


我希望能得到一些关于如何解决这个问题的指导。谢谢大家!

编辑1 我已设法拼凑出这段代码。我正在尝试做一个测试,但我无法理解语法以及如何实现这一点

var spreadsheetId='My sheet ID';
表格.电子表格.数值.批次更新({
身份验证:客户端,//“客户端”已被授权
电子表格ID:spreadsheetId,
请求主体:{
来源:“要显示的文字!A3:D”,
目的地:'要显示的单词!A2',
粘贴类型:“粘贴值。粘贴值”
}
},
功能(错误、响应){
如果(错误){
log('API错误:'+err);
}
});
API错误:

2019-09-18T05:33:03.209240+00:00应用程序[web.1]:API返回错误:错误:

Invalid JSON payload received. Unknown name "source": Cannot find field.
Invalid JSON payload received. Unknown name "destination": Cannot find field.
Invalid JSON payload received. Unknown name "paste_type": Cannot find field.
  • 您希望通过Node.js使用googleapis实现以下情况

    • 1   Alpha   Beta    Gamma   Delta
      2   a1      b1      c1      d1
      3   a2      b2      c2      d2
      4   a3      b3      c3      d3
      5   a4      b4      c4      d4
      6   a5      b5      c5      d5
      
      1   Alpha   Beta    Gamma   Delta
      2   a2      b2      c2      d2
      3   a3      b3      c3      d3
      4   a4      b4      c4      d4
      5   a5      b5      c5      d5
      
    • 1   Alpha   Beta    Gamma   Delta
      2   a1      b1      c1      d1
      3   a2      b2      c2      d2
      4   a3      b3      c3      d3
      5   a4      b4      c4      d4
      6   a5      b5      c5      d5
      
      1   Alpha   Beta    Gamma   Delta
      2   a2      b2      c2      d2
      3   a3      b3      c3      d3
      4   a4      b4      c4      d4
      5   a5      b5      c5      d5
      
  • 您已经能够使用Sheets API为电子表格输入和获取值

如果我的理解是正确的,那么这个示例脚本怎么样

模式1: 在此模式中,使用电子表格.batchUpdate方法的剪切粘贴请求。“A3:D”的值复制到“A2:D”

示例脚本: 模式2: 在这个模式中,使用了带有spreadsheets.batchUpdate方法的deleteDimension请求。删除第2行

示例脚本:
  • 在这个示例脚本中,删除一行后,使用appendDimension请求添加新行
注:
  • 在spreadsheets.batchUpdate方法中,请使用非注释
  • 使用此脚本时,如果出现错误,请使用最新版本的googleapis。现在最新版本是43.0.0
参考资料:

为了正确了解您的情况,您能否提供一份包含所需输入和输出的示例电子表格?当然,请删除您的个人信息。以下是我需要它做的事情:感谢您提供示例电子表格。当我看到你的电子表格时,我认为电子表格与你的问题不同。所以我很困惑。我能问一下你现在的问题吗?如果您想更改问题,请更新它。我看不出我的问题如何不反映电子表格。请假设我要查找的输出是示例电子表格中显示的内容。感谢您的回复。在示例电子表格中,“Before”表中的第1行似乎已被删除。您想删除“Before”的第1行。我的理解正确吗?模式1是我需要的。谢谢@CAG2感谢您的回复。我很高兴你的问题解决了。