GA4每周数据导入Google Sheets格式异常问题求助
GA4数据导入Google Sheets问题求助
我是编程新手,需要把GA4的每周数据拉取到Google Sheets中,但数据无法正确追加,反而以对象形式插入表格。我大概知道问题所在,但就是解决不了。另外,我需要返回列表内的字符串,而不是嵌套列表。
以下是我的代码、控制台日志及表格显示截图:
function pullDataFromGA4() { // 设置Google Analytics 4媒体资源ID const propertyId = 'GA4_PROPERTY_ID'; // 设置数据拉取的起始日期(7天前) const startDate = new Date(); startDate.setDate(startDate.getDate() - 7); // 设置数据拉取的结束日期(昨天) const endDate = new Date(); endDate.setDate(endDate.getDate() - 1); // 设置日期格式为YYYY-MM-DD const dateFormatter = Utilities.formatDate; const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); sheet.clear(); // 清除现有数据 const headers = ['周', '会话默认渠道组', '总用户数', '新用户数', '会话数']; sheet.appendRow(headers); // 添加表头 try { for (let i = 0; i < 1; i++) { const weekStart = new Date(startDate); weekStart.setDate(startDate.getDate() + (7 * i)); const weekEnd = new Date(startDate); weekEnd.setDate(startDate.getDate() + (7 * (i + 1)) - 1); const formattedStartDate = dateFormatter(weekStart, Session.getScriptTimeZone(), 'yyyy-MM-dd'); const formattedEndDate = dateFormatter(weekEnd, Session.getScriptTimeZone(), 'yyyy-MM-dd'); const dateRange = AnalyticsData.newDateRange(); dateRange.startDate = formattedStartDate; dateRange.endDate = formattedEndDate; const dimensions = []; const metricsArray = []; const sessionDefaultChannelGroup = AnalyticsData.newDimension(); sessionDefaultChannelGroup.name = 'sessionDefaultChannelGroup'; dimensions.push(sessionDefaultChannelGroup); const totalUsers = AnalyticsData.newMetric(); totalUsers.name = 'totalUsers'; metricsArray.push(totalUsers); const newUsers = AnalyticsData.newMetric(); newUsers.name = 'newUsers'; metricsArray.push(newUsers); const sessions = AnalyticsData.newMetric(); sessions.name = 'sessions'; metricsArray.push(sessions); const request = AnalyticsData.newRunReportRequest(); request.dimensions = dimensions; request.metrics = metricsArray; request.dateRanges = [dateRange]; const response = AnalyticsData.Properties.runReport(request, 'properties/' + propertyId); const weekData = response.rows.map((row) => { const metricValues = row.metricValues.map( (metricValue) => metricValue.value); const dimensionValues = row.dimensionValues.map( (dimensionValue) => dimensionValue.value); return [formattedStartDate + ' - ' + formattedEndDate, ...dimensionValues, ...metricValues]; }); console.log(headers) console.log(weekData); sheet.appendRow(weekData); } } catch (e) { console.log('执行失败,错误信息: %s', e.toString()); } }
控制台日志截图

表格显示截图

内容的提问来源于stack exchange,提问作者chiwarira
相关产品推荐
相关产品推荐

