如何获取分析报告 api 的开始日期?

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

我目前正在我的应用程序中使用 Google Analytics Reporting API。它只有一种方法,可以在下一个 url 上访问 - https://analyticsreporting.googleapis.com/v4/reports:batchGet。 使用此方法,我应该指定时间范围以从该时间段获取数据。

请求正文示例:

{
"reportRequests": [
    {
        "metrics": [
            {
                "expression": "ga:users"
            }
        ]
        "dateRanges": [
            {
                "startDate": "2017-01-01",
                "endDate": "2017-12-01"
            }
        ],
        "viewId": "1111111"
    }
]
}

有什么方法可以知道分析开始的日期吗?有什么建议吗?

google-api google-analytics-api
4个回答
2
投票

好的,下一个方法终于有所帮助。 您可以发出请求,在指标中添加“ga:sessions”,在维度中添加“ga:date”。开始日期应为 2005 年 11 月 14 日。如果您提出此请求,您将获得按日期分组的会话计数列表。会话开始的第一个日期将在响应的第一个条目中指定。 谢谢你们的帮助!

编辑:

一些例子。

Json请求正文:

{
"reportRequests": [
    {
        "metrics": [
            {
                "expression": "ga:sessions"
            }
        ],
        "dimensions": [
            {
                "name": "ga:date"
            }
        ],
        "dateRanges": [
            {
                "startDate": "2005-11-14",
                "endDate": "2021-03-17"
            }
        ]
    }
]
}

Json 响应体:

"data": {
            "rows": [
                {
                    "dimensions": [
                        "20120711"
                    ],
                    "metrics": [
                        {
                            "values": [
                                "10"
                            ]
                        }
                    ]
                },

这样我们就可以看到分析开始的第一个日期。也许这会对某人有所帮助。


1
投票

dateRanges[] 对象(DateRange)

请求中的日期范围。请求最多可以有 2 个日期范围。响应将针对请求中每个日期范围的每个维度组合包含一组指标值。因此,如果有两个日期范围,则会有两组指标值,一组用于原始日期范围,一组用于第二个日期范围。不应为群组或生命周期价值请求指定 reportRequest.dateRanges 字段。如果未提供日期范围,则默认日期范围为(开始日期:当前日期 - 7 天,结束日期:当前日期 - 1 天)。 batchGet 方法中的每个 ReportRequest 都必须包含相同的 dateRanges 定义。

您的数据将在您在报告中指定的日期返回。在上面的示例中,您只会看到 2017 年 1 月 1 日的数据。

谷歌分析状态日期。

我知道的找到谷歌分析帐户开始日期的唯一方法是从 2005 年 11 月 14 日开始请求数据,并继续直到您开始获得将成为开始日期的结果。

2005 年 11 月 14 日是谷歌分析的公开发布日期。

账户摘要

即使是账户摘要端点也不包含任何关于账户创建时间的日期信息。


0
投票

我找到了一种使用报告 API 和 Node.js 客户端库的方法。

import { google } from "googleapis";
const analytics = google.analytics("v3");

const first = await analytics.data.ga.get({
    auth: client, // this is the client that has the refresh token
    ids: "ga:xxx",
    "start-date": "2005-11-14", // The first date of Google Analytics
    "end-date": "today",
    filters: "ga:sessions>0", // Get the first date with recorded sessions.
    metrics: "ga:sessions",
    dimensions: "ga:date",
    "max-results": 1,
});

console.log(first.data?.rows);

输出将是这样的:

[ [ '20180505', '4' ] ]

数组中的第一个条目是

YYYYMMDD
格式的日期,第二个条目是会话数。


-1
投票

要添加您在上面提到的解决方案,当我创建报告请求时,我会考虑如何查看 Google Analytics 中的数据并从那里开始工作。

在报告请求中添加维度与在任何报告(如所有页面、频道、地理、技术等)中添加次级维度相同。列表不胜枚举。

这是多年来一直帮助我的东西,所以只是传递一个友好的建议。如果您有任何其他问题,我非常乐意为您提供帮助,我已经使用这个 API 大约两年了。干杯!

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