我目前正在我的应用程序中使用 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"
}
]
}
有什么方法可以知道分析开始的日期吗?有什么建议吗?
好的,下一个方法终于有所帮助。 您可以发出请求,在指标中添加“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"
]
}
]
},
这样我们就可以看到分析开始的第一个日期。也许这会对某人有所帮助。
请求中的日期范围。请求最多可以有 2 个日期范围。响应将针对请求中每个日期范围的每个维度组合包含一组指标值。因此,如果有两个日期范围,则会有两组指标值,一组用于原始日期范围,一组用于第二个日期范围。不应为群组或生命周期价值请求指定 reportRequest.dateRanges 字段。如果未提供日期范围,则默认日期范围为(开始日期:当前日期 - 7 天,结束日期:当前日期 - 1 天)。 batchGet 方法中的每个 ReportRequest 都必须包含相同的 dateRanges 定义。
您的数据将在您在报告中指定的日期返回。在上面的示例中,您只会看到 2017 年 1 月 1 日的数据。
我知道的找到谷歌分析帐户开始日期的唯一方法是从 2005 年 11 月 14 日开始请求数据,并继续直到您开始获得将成为开始日期的结果。
2005 年 11 月 14 日是谷歌分析的公开发布日期。
即使是账户摘要端点也不包含任何关于账户创建时间的日期信息。
我找到了一种使用报告 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
格式的日期,第二个条目是会话数。
要添加您在上面提到的解决方案,当我创建报告请求时,我会考虑如何查看 Google Analytics 中的数据并从那里开始工作。
在报告请求中添加维度与在任何报告(如所有页面、频道、地理、技术等)中添加次级维度相同。列表不胜枚举。
这是多年来一直帮助我的东西,所以只是传递一个友好的建议。如果您有任何其他问题,我非常乐意为您提供帮助,我已经使用这个 API 大约两年了。干杯!