Google Sheets调用Google API拉取多个GA实时指标问题咨询
现有代码核心问题
- 重复定义
report变量、重复执行相同的GA查询、重复清空表格区域,逻辑冗余 - 仅调用了单组
metrics+options的查询,新增的metrics2和options2完全未执行 - 调用
gaGet时传入了不存在的变量metrics1、options1,属于无效参数 - 未做多组查询结果的位置映射,没有指定第二组数据写入表格的对应区域
场景1:同维度下查询多个指标(比如同一个页面路径下同时查浏览量+活跃用户)
该场景无需发起多次查询,直接将多个指标用逗号拼接传给GA接口即可:
// 同维度多指标直接把指标写为逗号分隔的字符串即可 var metrics = 'rt:pageviews,rt:activeUsers'; var options = { 'dimensions': 'rt:pagePath', 'sort': '-rt:pageviews', 'samplingLevel': 'HIGHER_PRECISION', 'max-results': '100' } // 拉取结果每行结构为 [页面路径, 浏览量, 活跃用户数],直接写入A列开始的区域即可
场景2:不同维度的多组指标(即当前代码需求:一组按页面路径查浏览量,一组按国家查活跃用户,放在同一张表不同区域)
完整修改后的getRtPages函数代码如下:
// rt pages query 完整修改版 function getRtPages(){ // 基础参数配置 var sheetName = 'web'; var tableId = 'ga:214164114'; var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName(sheetName); // 第一组查询:按页面路径查浏览量 var metrics_page = 'rt:pageviews'; var options_page = { 'dimensions': 'rt:pagePath', 'sort': '-rt:pageviews', 'samplingLevel': 'HIGHER_PRECISION', 'max-results': '100' } // 第二组查询:按国家查活跃用户 var metrics_country = 'rt:activeUsers'; var options_country = { 'dimensions': 'rt:country', 'sort': '-rt:activeUsers', 'samplingLevel': 'HIGHER_PRECISION', 'max-results': '100' } // 清空目标区域:第一组放A-B列,第二组放D-E列,C列预留放时间戳 sheet.getRange("A2:B101").clear(); sheet.getRange("D2:E101").clear(); // 执行第一组查询,写入A列开始的位置 var report_page = gaGet(tableId, metrics_page, options_page); var data_page = report_page.rows; if(data_page && data_page.length>0){ sheet.getRange(2, 1, data_page.length, data_page[0].length).setValues(data_page); } // 执行第二组查询,写入D列开始的位置 var report_country = gaGet(tableId, metrics_country, options_country); var data_country = report_country.rows; if(data_country && data_country.length>0){ sheet.getRange(2, 4, data_country.length, data_country[0].length).setValues(data_country); } // 写入时间戳 setTimeStamp(sheetName); }
注意事项
- 如果要把多组数据上下拼接,修改
getRange的行号参数即可,比如第二组从第103行开始写 - GA实时API的指标入参支持逗号分隔的多指标字符串,无需传入数组,直接写
'rt:a,rt:b'格式即可 - 新增更多维度指标组时,按照相同逻辑新增查询、指定写入位置即可
内容的提问来源于stack exchange,提问作者sidmel
相关产品推荐
相关产品推荐

