参数(字符串,数字)与getRange()的方法签名不匹配

问题描述 投票:0回答:2

我正在尝试编写脚本以从Google Analytics(分析)中获取数据。我在许多网站和youtube视频的帮助下编写了此文件,但无法解决我的代码中的1个问题。

    function myFunction() {
      var app = SpreadsheetApp
      var doc = app.getActiveSpreadsheet().getActiveSheet();
      for(var i=0;i<107;i++){ 
      var viewId = doc.getRange(i+2,1).getValue(); // Your Google Analytics view ID

      var startDate = Utilities.formatDate(doc.getRange("K1").getValue(), "GMT+2", "yyyy-MM-dd");
      var endDate = Utilities.formatDate(doc.getRange("K2").getValue(), "GMT+2", "yyyy-MM-dd");;
      var metric = 'ga:sessions, ga:newUsers, ga:bounceRate';
      var option = {'segment': 'gaid::reM9CWAgR0ys4_Ng4N_aVw'};

        var result = Analytics.Data.Ga.get(viewId, startDate, endDate, metric, option); // Make the request

        var sessions = result.totalsForAllResults['ga:sessions'];
        var newusers = result.totalsForAllResults['ga:newUsers'];
        var bouncerate = result.totalsForAllResults['ga:bounceRate'];

        var doc = app.getActiveSpreadsheet(); // Current document
        var sheet = doc.getActiveSheet(); // Current sheet

        sheet.getRange(i+2,2,1,1).setValue(sessions); // Write total sessions
        sheet.getRange(i+2,3,1,1).setValue(newusers); // Write toal newusers
        sheet.getRange(i+2,4,1,1).setValue(bouncerate); // Write total bouncerate
    }

    }
google-apps-script google-sheets google-sheets-api
2个回答
1
投票

一旦更改了工作表中的视图ID,此问题就会自动解决。我想问题出在视图ID


0
投票

之所以会发生错误,是因为脚本无法在K1和/或K2单元格中找到startDate或endDate,或者因为视图ID少于107,并且通过循环查找第一列中的空单元格(或者不是从第二个单元格)。

不依赖于Google Analytics(分析)。>>

© www.soinside.com 2019 - 2024. All rights reserved.