通过 API 阅读 GA4(Google Analytics 4)会话

Read GA4 (Google Analytics 4) sessions via API

我们的应用程序为我们的客户提供访问和刷新令牌,我们有权读取他们的 Google 分析帐户。我们注意到我们无法访问 GA4 属性的数据。

我成功列出了 GA4 媒体资源:

GET https://analyticsadmin.googleapis.com/v1alpha/accountSummaries
headers: Authorization: Bearer @TOKEN

但是我找不到检索方法,例如过去 30 天内 GA4 属性的会话(在上面的响应中返回)。看起来像下面的请求应该可以解决问题:

POST https://analyticsdata.googleapis.com/v1beta/{property=properties/*}:runReport
headers: Authorization: Bearer @TOKEN

但是没用。我错过了什么?欢迎提供提示!

您需要在 POST 请求的正文中指定 metricsdateRanges:runReport 方法。这是一个示例 HTTP Post Report Request & Response. This API Quickstart Guide 讨论了在 request.json 中指定请求正文、启用数据 API 和配置身份验证。

对于此报告,您的请求应类似于以下内容。 GA4_PROPERTY_ID 应替换为您的数字 Google Analytics 4 Property ID

POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
  {
    "dateRanges": [{ "startDate": "29daysAgo", "endDate": "today" }],
    "metrics": [{ "name": "sessions" }]
  }

对于此报告,响应将类似于以下内容:

{
  "metricHeaders": [
    {
      "name": "sessions",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "metricValues": [
        {
          "value": "1495"
        }
      ]
    }
  ],
  "rowCount": 1,
  "metadata": {
    "currencyCode": "USD",
    "timeZone": "America/Los_Angeles"
  },
  "kind": "analyticsData#runReport"
}