无法从谷歌分析中检索超过10,000条记录
本文关键字:记录 000条 检索 谷歌 | 更新日期: 2023-09-27 18:16:15
我开发了一个windows控制台应用程序,它提取谷歌分析数据并写入。csv文件。当在Google Analytics Query Explorer中查询特定日期的数据时,它显示:-"您的查询匹配了96782个结果…"。
问题是当我使用应用程序查询相同日期的数据时,默认情况下它只返回1000条记录,当我设置
DataResource.GaResource.GetRequest objRequest.MaxResult
大于10k,那么它给我最大到最大10k的记录。
是否有办法获得超过10k的记录
我设置了Request。MaxResult = 10000和Response。ItemsPerPage = 10000。Request扮演着至关重要的角色。StartIndex具有分页机制,例如,在第一个循环中,我们将获得1-10000行,然后是10001-20000....2000 -30000等等
在循环下,对特定日期的数据的请求初始设置为request。StartIndex = 1,然后在行数达到第10000行时连续增加到MaxResult + 1,例如:-请求。StartIndex = 1然后10001然后20001....30001…40001等等,直到响应。Rows == null.
这是我的代码:-
StringBuilder sbrCSVData = new StringBuilder();
int intStartIndex = 1;
int intIndexCnt = 0;
int intMaxRecords = 10000;
AnalyticsService objAnaSrv = new AnalyticsService(objInit);
string metrics = "ga:visitors,ga:visits,ga:visitBounceRate,ga:pageviews,ga:pageviewsPerVisit,ga:uniquePageviews,ga:avgTimeOnPage,ga:exits,ga:avgPageLoadTime,ga:goal1ConversionRate";
DataResource.GaResource.GetRequest objRequest = objAnaSrv.Data.Ga.Get(strProfId, startDate,endDate, metrics);
objRequest.Dimensions = "ga:visitCount,ga:browser,ga:browserVersion,ga:IsMobile,ga:screenResolution,ga:date,ga:hour";
objRequest.MaxResults = 10000;
while (true)
{
objRequest.StartIndex = intStartIndex;
GaData objResponse = objRequest.Fetch();
objResponse.ItemsPerPage = intMaxRecords;
if (objResponse.Rows != null)
{
intIndexCnt++;
for (int intRows = 0; intRows < objResponse.Rows.Count; intRows++)
{
IList<string> lstRow = objResponse.Rows[intRows];
for (int intCols = 0; intCols <= lstRow.Count - 1; intCols++)
{
strRowData += lstRow[intCols].ToString() + "|";
}
strRowData = strRowData.Remove(strRowData.Length - 1, 1);
sbrCSVData.Append(strRowData + "'r'n");
strRowData = "";
}
intStartIndex = intIndexCnt * intMaxRecords + 1;
}
else break;
}
是的,文档中提到了这个东西。为了获得更多的数据,一般做法是将间隔或任何条件分解,然后执行多个查询来获取数据。详细信息请阅读https://developers.google.com/analytics/devguides/reporting/core/v3/limits-quotas希望对大家有所帮助