簡體   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