【问题标题】:Is access to the Google Analytics Realtime Reporting API (via javascript) handled similarly to the Core Reporting API or is it dramatically different?访问 Google Analytics Realtime Reporting API(通过 javascript)的处理方式是否与 Core Reporting API 类似,还是有很大不同?
【发布时间】:2020-01-30 02:37:49
【问题描述】:

我正在使用 [https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-js][1] 中的“Hello Analytics”代码示例来允许我访问我的 Google Analytics 帐户并将 JSON 响应记录到控制台。我可以遍历 JSON 并查看如何从 Core Reporting API 请求我想要的特定数据......它非常棒。

不过,我对实时数据更感兴趣。对于这个特定的项目,我需要比核心报告 API 更快的东西...

问题:Realtime Reporting API 是否可以通过 javascript 访问?如果可以,它(一般来说)是否也可以以同样的方式工作?含义是否只需更改以下任何一项即可从 REALTIME api 获得相同类型的响应?

// Set authorized scope.
var SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'];

// Load the Google Analytics client library.
gapi.client.load('analytics', 'v3').then(function() {

我看到很多关于核心报告 API 的资源/示例,但在实时 API 上却不多

【问题讨论】:

    标签: javascript json api google-analytics-api


    【解决方案1】:

    Core Reporting APIReal time API 的工作方式非常相似,甚至具有相同的身份验证范围。

    核心报告 API 调用

    gapi.client.analytics.data.ga.get(...)
    

    Core Reporting API method reference.

    实时 API 调用

    gapi.client.analytics.data.realtime.get(...)
    

    Realtime API method reference.

    Realtime API 有自己的一组以 rt:... 开头的维度和指标,其中核心报告 API 维度和指标以 ga:... 开头。

    【讨论】:

      【解决方案2】:

      我在我的 Google Apps 脚本中同时使用了它们。这些相同的函数可能有助于理解相似性。

      在核心报告 API 中下面的函数使用给定过滤器为给定维度提供用户、会话、avgSessionDuration 和 uniqueEvents。

      function countClicks(analyticsID,startDate,endDate){
        try {
          var results = Analytics.Data.Ga.get(
            'ga:'+analyticsID,
            startDate,
            endDate,
            'ga:users,ga:sessions,ga:avgSessionDuration,ga:uniqueEvents',
            {'dimensions': 'ga:eventLabel','filters': 'ga:sessionDuration>1;ga:eventCategory=@'+SUBJECT}).rows;
          return results;
        } catch(e){
          Logger.log(e);
          logTable.appendRow([e["stack"],e.message,new Date()]);
        }
      }
      

      在实时 API 中这给了我给定维度的活跃用户数

      function countClicks(analyticsID){
        try {
          var results = Analytics.Data.Realtime.get(
            'ga:'+analyticsID,
            'rt:activeUsers',
            {'dimensions':'rt:country,rt:city,rt:eventCategory,rt:eventAction,rt:eventLabel,rt:operatingSystem,rt:deviceCategory'}).rows;
          return results;
        } catch(e){
          Logger.log(e);
          logTable.appendRow([e["stack"],e.message,new Date()]);
        }
      }
      

      所以,是的。它几乎以同样的方式工作。

      Core Reporting API根据Realtime API有更多的指标和维度选项

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多