Google AnalyticsAPI:每小时获取会话数

时间:2017-01-05 23:29:29

标签: node.js google-analytics google-analytics-api google-api-nodejs-client

我需要从Google AnalyticsAPI创建一些数据库条目。需要注意的是,我每天午夜只会请求一次这样的数据。以下是详细信息:

需要的数据: 对象:

{ sessions: Int, hourOfDay: Int date: 'YYYY-MM-DD }

我需要一天中每小时的数据。我希望将其作为7天的实际值(也就是说,重复7天的24个对象),或者那个小时的过去一周的平均值(也就是具有过去平均值的24个对象)那个小时7天。)

以下是一些示例代码,我知道这些代码需要为此目的进行编辑:

authorize(function(err, token) {
  const weekInSeconds = 436800000;
  const endDate = new Date();
  const startDate = new Date(endDate.getTime() - weekInSeconds);

  // Code to convert startDate + endDate to Strings (e.g: '2017-01-05')

  var requestConfig = {
    'ids': 'ga:1234567890',
    'start-date': endDateStr,
    'end-date' : startDateStr,
    'metrics': 'ga:sessions'
  };

  // Code here sends request to Google API

});

requestConfig是此处的关键,或者可能是开始/编辑日期。这是我现在缺乏的知识:

是否可以使用'metrics'中的requestConfig字段来获取上述日期对象?

我的另一个思路是为每个不同的字段并行制作批量请求,并从聚合响应中创建对象。解释(伪代码):

for (each hour of past 7 days) {
  var requestConfig = {
      'ids': 'ga:1234567890',
      'start-date': endDateStr,
      'end-date' : startDateStr,
      'metrics': 'ga:sessions'
  };

  // Create fields for hour, date | fill with appropriate value
  // Send requestConfig and create field in object from response
}

我更倾向于采用前一种方法,因为它需要更少的API,更少的地方引入错误。

2 个答案:

答案 0 :(得分:0)

没关系,我找到了答案。我了解到在API对象中存在另一个字段:'dimensions',我可以通过各种参数(例如,小时,分钟,日期,日期等)对结果进行分组。

答案 1 :(得分:0)

我发现查询资源管理器非常有用且有用see query explorer