当前位置: 首页 > 知识库问答 >
问题:

如何使用Google Sheets Api批量复制范围

仇正平
2023-03-14

我的代码是:

function Test_Copy() {
  var spreadsheetId = "MY_FILE_ID";
  var sheetId = "SHEET_ID";

  var rangeFrom = Sheets.newGridRange();
  rangeFrom.sheetId = sheetId;
  rangeFrom.startRowIndex = 0;
  rangeFrom.endRowIndex = 1;  
  rangeFrom.startColumnIndex = 0;
  rangeFrom.endColumnIndex = 1;

  var rangeTo = Sheets.newGridRange();
  rangeTo.sheetId = sheetId;
  rangeTo.startRowIndex = 1;
  rangeTo.endRowIndex = 2;  
  rangeTo.startColumnIndex = 1;
  rangeTo.endColumnIndex = 2;  


  var request = Sheets.newCopyPasteRequest();
  request.destination =  rangeTo      
  request.source =  rangeFrom
  request.pasteType = "PASTE_NORMAL";
  request.pasteOrientation = "NORMAL";

  var resource = Sheets.newBatchUpdateSpreadsheetRequest();
  resource.requests = [request];

  Sheets.Spreadsheets.batchUpdate(resource , spreadsheetId);

}

当我运行它时,我得到一个错误:

对sheets.spreadsheets.batchUpdate的API调用失败,错误:收到无效的JSON有效负载。未知名称"pasteType"

我使用GoogleSheetsAPI(以下是我如何启用它的)

共有1个答案

阮轶
2023-03-14

我对Sheets API没有太多经验,但这似乎可以在它记录响应数据时工作:

var copyPasteRequest = Sheets.newCopyPasteRequest();
  copyPasteRequest.destination =  rangeTo;    
  copyPasteRequest.source =  rangeFrom;
  copyPasteRequest.pasteType = "PASTE_NORMAL";
  copyPasteRequest.pasteOrientation = "NORMAL";

  var resource = Sheets.newBatchUpdateSpreadsheetRequest();

  //Create request object
  var request = Sheets.newRequest();
  request.copyPaste = copyPasteRequest;
  resource.requests = [request];

  var res = Sheets.Spreadsheets.batchUpdate(resource , spreadsheetId);
  Logger.log(res.replies);
  Logger.log(res.spreadsheetId);

我认为问题在于您试图将CopyPasteRequest对象设置为BatchUpdateRequest对象的属性,但显然它需要一个请求对象作为中介。

{
  "requests": [
    {
      object (Request)
    }
  ],
  "includeSpreadsheetInResponse": boolean,
  "responseRanges": [
    string
  ],
  "responseIncludeGridData": boolean
} 

不过我可能错了。

 类似资料:
  • GoogleSheets文档可以包含一些表单。第一个是默认值和“0”。一般情况下,任何工作表都有如下地址: https://docs.google.com/spreadsheets/d/(spreadsheetId)/编辑#gid=(sheetId) 同时具有和。 但是在API文档中没有提到如何使用。我只能读取和编辑给定的默认表格。 如果在来自示例性链接中显示的代码,我添加了属性,我得到错误:

  • 我想使用Batchnormalization来规范化批次维度,但keras中的批次维度自然是无维度的。那我该怎么办呢。 keras示例显示,conv2d的轴为-1,这表示通道尺寸。 轴:整数,应规格化的轴(通常是特征轴)。例如,在具有data\u format=“channels\u first”的Conv2D层之后,在BatchNormalization中设置axis=1。

  • 问题内容: 我想用Django更新表格-原始SQL中的内容如下: 我的第一个结果是这样的-但这很讨厌,不是吗? 有没有更优雅的方式? 问题答案: UPD Django 2.2版本现在具有bulk_update。 请参阅以下django文档部分 一次更新多个对象 简而言之,你应该可以使用: 你还可以使用F对象来执行诸如增加行数之类的操作: 请参阅文档:https : //docs.djangopro

  • 平台已上线批量复制备课和课外任务功能,进入课堂---点击【备课区】-勾选要复制的备课记录和课外任务--【批量复制】 提示: 1)关联课堂的批量复制:课程团队的老师之间可以共享备课,可以将同一课程学期下的慕课堂备课进行复制,但只能将别人课堂的备课复制到自己的课堂,而无法将自己的备课复制到别人的课堂. 2)如果课程团队有多个平行教学班,可在一个课堂中完成备课后,批量复制备课和课外任务到其他班级。

  • 我正在尝试从cifar10二进制文件中绘制小批量。当实现下面显示的代码时(请参见[源代码]),机器(python 3.6)会不断显示消息(请参见[控制台])并停止。 有人能告诉我我的源代码有什么问题吗? 另外,我是tensorflow的新手。。 [源代码]-------------------------------------------------------------将tensorflow

  • 问题内容: 我有一个包含一千万行的表,需要与另一个表连接并更新所有数据。一小时要花费超过1个小时的时间,这使我的事务日志增加了10+ GB。是否有另一种方法可以增强此性能? 我相信,每次更新后,都会检查索引和约束并记录所有信息。有没有一种方法可以告诉SQL Server仅在更新完成后才检查约束并最小化记录更新操作? 我的查询如下。我已经修改了一些名称,以便于阅读。 编辑: 如注释中所述,表定义将类