繁体   English   中英

Google Sheet 错误:访问带有 id 的文档时服务电子表格超时

[英]Google Sheet Error: Service Spreadsheets timed out while accessing document with id

每次我运行一个非常简单的代码时,我都会收到这个错误“服务电子表格在访问带有 id 的文档时超时......”,其中我基本上是使用getValues()setValues()将数据从一个谷歌表复制到另一个谷歌表。

我不认为这是因为 5M 单元格的限制,因为相同的功能在另一个更大尺寸的Google Sheet 中工作得非常好 所以我真的不明白问题出在哪里。

我试图创建一个空的 GS 并运行该函数,所以我只是在没有任何其他计算的情况下提取数据,但它仍然给我同样的错误。

知道是什么原因吗?

这里的代码作为参考:

   function MyFunction(){
      var pm_ss_0 = SpreadsheetApp.openById('...');
      var pm_tab_0 = pm_ss_0.getSheetByName('...');
      var pm_data_0 = pm_tab_0.getDataRange().getValues();
      var target_ss_0 = SpreadsheetApp.getActiveSpreadsheet();
      var target_tab_0 = target_ss_0.getSheetByName('...');
      target_tab_0.clearContents();
      var target_data_0 = target_tab_0.getRange(1, 1, pm_data_0.length,   
      pm_data_0[0].length).setValues(pm_data_0);
      }

每次我运行一个非常简单的代码时,都会收到此错误“访问具有id的文档时,服务电子表格已超时...”,其中我基本上是使用getValues()setValues()将数据从一个Google工作表复制到另一个工作表。

我不认为这是由于5M单元数的限制,因为相同的确切功能在另一个尺寸更大的Google表格中也能很好地工作 所以我真的不明白问题出在哪里。

我试图创建一个空的GS并运行该函数,所以我只提取数据而没有进行任何其他计算,但是,它仍然给我同样的错误。

知道原因可能是什么吗?

这里的代码作为参考:

   function MyFunction(){
      var pm_ss_0 = SpreadsheetApp.openById('...');
      var pm_tab_0 = pm_ss_0.getSheetByName('...');
      var pm_data_0 = pm_tab_0.getDataRange().getValues();
      var target_ss_0 = SpreadsheetApp.getActiveSpreadsheet();
      var target_tab_0 = target_ss_0.getSheetByName('...');
      target_tab_0.clearContents();
      var target_data_0 = target_tab_0.getRange(1, 1, pm_data_0.length,   
      pm_data_0[0].length).setValues(pm_data_0);
      }

每次我运行一个非常简单的代码时,都会收到此错误“访问具有id的文档时,服务电子表格已超时...”,其中我基本上是使用getValues()setValues()将数据从一个Google工作表复制到另一个工作表。

我不认为这是由于5M单元数的限制,因为相同的确切功能在另一个尺寸更大的Google表格中也能很好地工作 所以我真的不明白问题出在哪里。

我试图创建一个空的GS并运行该函数,所以我只提取数据而没有进行任何其他计算,但是,它仍然给我同样的错误。

知道原因可能是什么吗?

这里的代码作为参考:

   function MyFunction(){
      var pm_ss_0 = SpreadsheetApp.openById('...');
      var pm_tab_0 = pm_ss_0.getSheetByName('...');
      var pm_data_0 = pm_tab_0.getDataRange().getValues();
      var target_ss_0 = SpreadsheetApp.getActiveSpreadsheet();
      var target_tab_0 = target_ss_0.getSheetByName('...');
      target_tab_0.clearContents();
      var target_data_0 = target_tab_0.getRange(1, 1, pm_data_0.length,   
      pm_data_0[0].length).setValues(pm_data_0);
      }

我解决了在出现错误的行前后插入冲洗的问题。

SpreadsheetApp.flush();
ss.insertSheet("Report "+fogl.getName(), ss.getNumSheets()); //与我的代码中的错误一致
SpreadsheetApp.flush();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM