【问题标题】:Simple Google Script using Sheets API使用 Sheets API 的简单 Google 脚本
【发布时间】:2017-08-23 00:59:01
【问题描述】:

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

  1. 有过滤动态数据的最佳实践吗?

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

/**
 * 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;
   }
 }

【问题讨论】:

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


    【解决方案1】:

    batchUpdate 方法不适用于 SpreadsheeetApp 服务。您需要按照documentation 中的说明切换到高级表格服务。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      相关资源
      最近更新 更多