使用表格API的简单Google脚本

时间:2017-08-23 00:59:01

标签: google-apps-script google-sheets-api

我不是一名程序员,但我正在通过Google Apps脚本破解我的方式,将数据从健身应用程序Strava导入Google表格并操纵该数据进行分析。我设法使用Strava API和Google工作表API来导入数据。但是,现在,我需要找到一种方法来对数据进行排序,以便对其进行分析。由于Strava API会为每个健身活动添加一个新行,因此我必须将数据(值)复制到新工作表中。我尝试过使用公式从导入表中提取数据,但是一旦排序它似乎不起作用。因此,我们想到的一个解决方案是使用Sheets API中的spreadsheets.values集合将数据添加到新工作表中。这导致两个问题:

  1. 是否有过滤动态数据的最佳做法?

  2. 假设上述方法合理,代码会是什么样子? Google在Sheets API文档中提供的示例不包含Apps Scripts,而且我不是编码员,所以我正在寻求帮助。这是我到目前为止所写的内容。 " rangeNamefrom"是接收Strava数据的工作表。" rangeNameto"是我想将数据作为值放置的工作表。任何帮助将不胜感激。提前致谢。

  3. 
    
    /**
     * Creates a Sheets API service object and transfers data from one tab to another of the following spreadsheet as values
     *  https://docs.google.com/spreadsheets/d/10mCWosPmxW71WtuHDtsfpfVU5459NJ24IRbHtxYwoCI/edit#gid=2030256469
     */
    function TransferValues() {
      var spreadsheetId = '10mCWosPmxW71WtuHDtsfpfVU5459NJ24IRbHtxYwoCI';
      var rangeNamefrom = 'ProcessedData!A2:AZ1000';
      var rangeNameto = 'ViewTabs!A2:AZ1000';
      var values = SpreadsheetApp.values.batchGet(spreadsheetId, rangeNamefrom).values;
    
      if (!values) {
        Logger.log('No data found.');
      } else {
        SpreadsheetApp.values.batchUpdate(spreadsheetId, rangeNameto).values;
       }
     }
    
    
    

1 个答案:

答案 0 :(得分:0)

SpreadsheeetApp服务不提供batchUpdate方法。您需要切换到documentation

中所述的高级表单服务

您还必须在关联的控制台项目中启用Google表格API。